📅 Atualização 2019-01-25: Prazo Estendido para Certificados Gerenciados pela Apple
A confiança em certificados emitidos por duas subautoridades de certificação gerenciadas pela Apple será mantida por um período mais longo. As instruções sobre como reativar a confiança nas autoridades de certificação raiz afetadas foram atualizadas.
🔍 Introdução
O JDK da Oracle deixará de confiar em certificados TLS emitidos pela Symantec, alinhando-se a planos semelhantes anunciados recentemente por Google, Mozilla, Apple e Microsoft. A lista de certificados afetados inclui certificados das marcas GeoTrust, Thawte e VeriSign, que eram gerenciados pela Symantec.
⏰ Linha do Tempo da Mudança
A partir das versões de patch crítico planejadas para 16 de abril de 2019, todas as versões suportadas do JDK (12, 11, 8 e 7) começarão a remover a confiança em novos certificados de servidor TLS emitidos pelas autoridades de certificação afetadas.
📜 Certificados Existentes vs. Novos
- Certificados emitidos antes de 16 de abril de 2019: Continuarão sendo confiáveis até sua data de expiração.
- Certificados emitidos após 16 de abril de 2019: Serão rejeitados.
Informações sobre como substituir certificados Symantec por um certificado DigiCert estão disponíveis na página de suporte da DigiCert.
⚙️ Impacto Técnico e Como Funciona
As novas restrições serão aplicadas na implementação do JDK (o Provedor SunJSSE) da API Java Secure Socket Extension (JSSE). Uma sessão TLS não será negociada se a cadeia de certificados do servidor estiver ancorada por qualquer uma das Autoridades de Certificação listadas na tabela abaixo.
💻 Exemplo de Erro
Uma aplicação receberá uma exceção com uma mensagem indicando que a âncora de confiança não é confiável, por exemplo:
TLS Server certificate issued after 2019-04-16 and anchored by a distrusted legacy Symantec root CA: CN=GeoTrust Global CA, O=GeoTrust Inc., C=US
🛠️ Contornando as Restrições (Medida Temporária)
Se necessário, é possível contornar as restrições comentando ou removendo "SYMANTEC_TLS" da propriedade de segurança jdk.security.caDistrustPolicies no arquivo de configuração java.security.
# Exemplo: Para desativar a política de desconfiança SYMANTEC_TLS
# jdk.security.caDistrustPolicies=SYMANTEC_TLS
Atenção: Esta é uma solução temporária. A ação correta é substituir o certificado.
📋 Autoridades de Certificação Raiz da Symantec Afetadas no JDK
A restrição será imposta aos seguintes certificados raiz da Symantec incluídos no JDK:
| Nome Distinto (Distinguished Name) | Imprensa Digital (Fingerprint) SHA-256 |
|---|---|
| CN=GeoTrust Global CA, O=GeoTrust Inc., C=US | FF:85:6A:2D:25:1D:CD:88:D3:66:56:F4:50:12:67:98:CF:AB:AA:DE:40:79:9C:72:2D:E4:D2:B5:DB:36:A7:3A |
| CN=GeoTrust Primary Certification Authority, O=GeoTrust Inc., C=US | 37:D5:10:06:C5:12:EA:AB:62:64:21:F1:EC:8C:92:01:3F:C5:F8:2A:E9:8E:E5:33:EB:46:19:B8:DE:B4:D0:6C |
| CN=GeoTrust Primary Certification Authority – G2, OU=(c) 2007 GeoTrust Inc. – For authorized use only, O=GeoTrust Inc., C=US | 5E:DB:7A:C4:3B:82:A0:6A:87:61:E8:D7:BE:49:79:EB:F2:61:1F:7D:D7:9B:F9:1C:1C:6B:56:6A:21:9E:D7:66 |
| CN=GeoTrust Primary Certification Authority – G3, OU=(c) 2008 GeoTrust Inc. – For authorized use only, O=GeoTrust Inc., C=US | B4:78:B8:12:25:0D:F8:78:63:5C:2A:A7:EC:7D:15:5E:AA:62:5E:E8:29:16:E2:CD:29:43:61:88:6C:D1:FB:D4 |
| CN=GeoTrust Universal CA, O=GeoTrust Inc., C=US | A0:45:9B:9F:63:B2:25:59:F5:FA:5D:4C:6D:B3:F9:F7:2F:F1:93:42:03:35:78:F0:73:BF:1D:1B:46:CB:B9:12 |
| CN=thawte Primary Root CA, OU=”(c) 2006 thawte, Inc. – For authorized use only”, OU=Certification Services Division, O=”thawte, Inc.”, C=US | 8D:72:2F:81:A9:C1:13:C0:79:1D:F1:36:A2:96:6D:B2:6C:95:0A:97:1D:B4:6B:41:99:F4:EA:54:B7:8B:FB:9F |
| CN=thawte Primary Root CA – G2, OU=”(c) 2007 thawte, Inc. – For authorized use only”, O=”thawte, Inc.”, C=US | A4:31:0D:50:AF:18:A6:44:71:90:37:2A:86:AF:AF:8B:95:1F:FB:43:1D:83:7F:1E:56:88:B4:59:71:ED:15:57 |
| CN=thawte Primary Root CA – G3, OU=”(c) 2008 thawte, Inc. – For authorized use only”, OU=Certification Services Division, O=”thawte, Inc.”, C=US | 4B:03:F4:58:07:AD:70:F2:1B:FC:2C:AE:71:C9:FD:E4:60:4C:06:4C:F5:FF:B6:86:BA:E5:DB:AA:D7:FD:D3:4C |
| EMAILADDRESS=premium-server@thawte.com, CN=Thawte Premium Server CA, OU=Certification Services Division, O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA | 3F:9F:27:D5:83:20:4B:9E:09:C8:A3:D2:06:6C:4B:57:D3:A2:47:9C:36:93:65:08:80:50:56:98:10:5D:BC:E9 |
| OU=VeriSign Trust Network, OU=”(c) 1998 VeriSign, Inc. – For authorized use only”, OU=Class 2 Public Primary Certification Authority – G2, O=”VeriSign, Inc.”, C=US | 3A:43:E2:20:FE:7F:3E:A9:65:3D:1E:21:74:2E:AC:2B:75:C2:0F:D8:98:03:05:BC:50:2C:AF:8C:2D:9B:41:A1 |
| OU=Class 3 Public Primary Certification Authority, O=”VeriSign, Inc.”, C=US | A4:B6:B3:99:6F:C2:F3:06:B3:FD:86:81:BD:63:41:3D:8C:50:09:CC:4F:A3:29:C2:CC:F0:E2:FA:1B:14:03:05 |
| OU=VeriSign Trust Network, OU=”(c) 1998 VeriSign, Inc. – For authorized use only”, OU=Class 3 Public Primary Certification Authority – G2, O=”VeriSign, Inc.”, C=US | 83:CE:3C:12:29:68:8A:59:3D:48:5F:81:97:3C:0F:91:95:43:1E:DA:37:CC:5E:36:43:0E:79:C7:A8:88:63:8B |
| CN=VeriSign Class 3 Public Primary Certification Authority – G3, OU=”(c) 1999 VeriSign, Inc. – For authorized use only”, OU=VeriSign Trust Network, O=”VeriSign, Inc.”, C=US | EB:04:CF:5E:B1:F3:9A:FA:76:2F:2B:B1:20:F2:96:CB:A5:20:C1:B9:7D:B1:58:95:65:B8:1C:B9:A1:7B:72:44 |
| CN=VeriSign Class 3 Public Primary Certification Authority – G4, OU=”(c) 2007 VeriSign, Inc. – For authorized use only”, OU=VeriSign Trust Network, O=”VeriSign, Inc.”, C=US | 69:DD:D7:EA:90:BB:57:C9:3E:13:5D:C8:5E:A6:FC:D5:48:0B:60:32:39:BD:C4:54:FC:75:8B:2A:26:CF:7F:79 |
| CN=VeriSign Class 3 Public Primary Certification Authority – G5, OU=”(c) 2006 VeriSign, Inc. – For authorized use only”, OU=VeriSign Trust Network, O=”VeriSign, Inc.”, C=US | 9A:CF:AB:7E:43:C8:D8:80:D0:6B:26:2A:94:DE:EE:E4:B4:65:99:89:C3:D0:CA:F1:9B:AF:64:05:E4:1A:B7:DF |
| CN=VeriSign Universal Root Certification Authority, OU=”(c) 2008 VeriSign, Inc. – For authorized use only”, OU=VeriSign Trust Network, O=”VeriSign, Inc.”, C=US | 23:99:56:11:27:A5:71:25:DE:8C:EF:EA:61:0D:DF:2F:A0:78:B5:C8:06:7F:4E:82:82:90:BF:B8:60:E8:4B:3C |
Se você possui um certificado de servidor TLS emitido por uma das ACs acima, deve ter recebido uma mensagem da DigiCert com informações sobre a substituição desse certificado, sem custo.
🍏 Exceção: Certificados Gerenciados pela Apple
Certificados emitidos por duas autoridades de certificação subordinadas gerenciadas pela Apple, identificadas abaixo, continuarão a ser confiáveis desde que emitidos em ou antes de 31 de dezembro de 2019.
| Nome Distinto (Distinguished Name) | Imprensa Digital (Fingerprint) SHA-256 | Data de Desconfiança |
|---|---|---|
| CN=Apple IST CA 2 – G1, OU=Certification Authority, O=Apple Inc., C=US | AC:2B:92:2E:CF:D5:E0:17:11:77:2F:EA:8E:D3:72:DE:9D:1E:22:45:FC:E3:F5:7A:9C:DB:EC:77:29:6A:42:4B | 2019-12-31 |
| CN=Apple IST CA 8 – G1, OU=Certification Authority, O=Apple Inc., C=US | A4:FE:7C:7F:15:15:5F:3F:0A:EF:7A:AA:83:CF:6E:06:DE:B9:7C:A3:F9:09:DF:92:0A:C1:49:08:82:D4:88:ED | 2019-12-31 |
🔧 Como Verificar seus Certificados
É possível usar a utilitário keytool do JDK para imprimir detalhes da cadeia de certificados, da seguinte forma:
keytool -v -list -alias <seu_alias_de_servidor> -keystore <seu_arquivo_de_keystore>
Se algum dos certificados na cadeia for emitido por uma das autoridades de certificação raiz na tabela acima e aparecer na saída, será necessário atualizar o certificado ou entrar em contato com a organização que gerencia o servidor, se não for o seu.
✅ Próximos Passos e Ação Recomendada
- Verifique a origem dos certificados TLS usados em suas aplicações e servidores.
- Substitua quaisquer certificados de servidor TLS emitidos pelas autoridades de certificação listadas, preferencialmente por um fornecedor diferente (como DigiCert).
- Teste a nova configuração em um ambiente de homologação.
- Planeje a implantação antes da data limite de 16 de abril de 2019 para evitar interrupções.
Manter a segurança da infraestrutura de certificados é essencial para a confiança na internet e a proteção de dados.