Firefox, Java, certificados da CEF

[Atualização - 30/01/2017] Nada mais disso é necessário hoje em dia.

A partir do Fedora 19, existe um lugar unificado para instalar certificados adicionais.

https://fedoraproject.org/wiki/Features/SharedSystemCertificates

(tudo como root)

wget http://certificadodigital.caixa.gov.br/cer/ICP-Brasil%20v2.cer -O /etc/pki/ca-trust/source/anchors/ICP-Brasil\ v2.cer
wget http://certificadodigital.caixa.gov.br/cer/AC%20CAIXA%20v2.cer -O /etc/pki/ca-trust/source/anchors/AC\ CAIXA\ v2.cer
wget http://certificadodigital.caixa.gov.br/cer/AC%20CAIXA%20PF%20v2.cer -O /etc/pki/ca-trust/source/anchors/AC\ CAIXA\ PF\ v2.cer
wget http://certificadodigital.caixa.gov.br/cer/AC%20CAIXA%20PJ%20v2.cer -O /etc/pki/ca-trust/source/anchors/AC\ CAIXA\ PJ\ v2.cer
wget http://certificadodigital.caixa.gov.br/cer/AC%20CAIXA-JUS%20v2.cer -O /etc/pki/ca-trust/source/anchors/AC\ CAIXA-JUS\ v2.cer
update-ca-trust extract

O Firefox, bem como o OpenJDK, usa a loja de certificados do sistema. Infelizmente, os serviços da Caixa Econômica Federal dependem do Java da Oracle, que não interpreta o arquivo (ou melhor, link) /etc/pki/java/cacerts. Assim, é preciso adicionar manualmente:

/usr/java/latest/bin/keytool -importcert -trustcacerts -storepass changeit -noprompt -keystore /usr/java/latest/lib/security/cacerts -file /etc/pki/ca-trust/source/anchors/ICP-Brasil\ v2.cer -alias autoridadecertificadoraraizbrasileirav2
/usr/java/latest/bin/keytool -importcert -trustcacerts -storepass changeit -noprompt -keystore /usr/java/latest/lib/security/cacerts -file /etc/pki/ca-trust/source/anchors/AC\ CAIXA\ v2.cer -alias accaixav2
/usr/java/latest/bin/keytool -importcert -trustcacerts -storepass changeit -noprompt -keystore /usr/java/latest/lib/security/cacerts -file /etc/pki/ca-trust/source/anchors/AC\ CAIXA\ PF\ v2.cer -alias accaixapfv2
/usr/java/latest/bin/keytool -importcert -trustcacerts -storepass changeit -noprompt -keystore /usr/java/latest/lib/security/cacerts -file /etc/pki/ca-trust/source/anchors/AC\ CAIXA\ PJ\ v2.cer -alias accaixapjv2
/usr/java/latest/bin/keytool -importcert -trustcacerts -storepass changeit -noprompt -keystore /usr/java/latest/lib/security/cacerts -file /etc/pki/ca-trust/source/anchors/AC\ CAIXA-JUS\ v2.cer -alias accaixa-jusv2

O mesmo vale para os certificados v1, se você precisar.

http://www.certificado.caixa.gov.br/possuo/download/

Aliás, no Windows, a situação é similar. O Internet Explorer e o Chrome usam os certificados instalados no sistema. O Firefox (ao contrário da versão Linux) e o Java, entretanto, não. Para não ficar adicionando exceções de segurança em ambos para os sites da Caixa, a solução definitiva é importar os certificados.

- Repositório do Windows (usado pelo IE, Chrome): abra cada arquivo .cer, clique em "Instalar Certificado...", Avançar, selecione "Colocar todos os certificados no repositório a seguir", Procurar..., selecione "Autoridades de Certificação Raiz Confiáveis", OK, Avançar, Concluir, OK.

- Firefox: basta clicar nos links de cada certificado, marcar pelo menos a primeira caixa ("Considerar confiável esta CA para identificar sites") e OK.

- Java: em "Painel de Controle → Java", guia "Segurança", "Gerenciar Certificados...", Importar. Ou com a ferramenta de linha de comando keytool, adaptando os comandos acima (como Administrador):

"C:\Program Files (x86)\Java\jre7\bin\keytool.exe" -importcert -trustcacerts -storepass changeit -noprompt -keystore "C:\Program Files (x86)\Java\jre7\lib\security\cacerts" -file "C:\Users\Blabla\Downloads\ICP-Brasil v2.cer" -alias autoridadecertificadoraraizbrasileirav2
"C:\Program Files (x86)\Java\jre7\bin\keytool.exe" -importcert -trustcacerts -storepass changeit -noprompt -keystore "C:\Program Files (x86)\Java\jre7\lib\security\cacerts" -file "C:\Users\Blabla\Downloads\AC CAIXA v2.cer" -alias accaixav2
"C:\Program Files (x86)\Java\jre7\bin\keytool.exe" -importcert -trustcacerts -storepass changeit -noprompt -keystore "C:\Program Files (x86)\Java\jre7\lib\security\cacerts" -file "C:\Users\Blabla\Downloads\AC CAIXA PF v2.cer" -alias accaixapfv2
"C:\Program Files (x86)\Java\jre7\bin\keytool.exe" -importcert -trustcacerts -storepass changeit -noprompt -keystore "C:\Program Files (x86)\Java\jre7\lib\security\cacerts" -file "C:\Users\Blabla\Downloads\AC CAIXA PJ v2.cer" -alias accaixapjv2
"C:\Program Files (x86)\Java\jre7\bin\keytool.exe" -importcert -trustcacerts -storepass changeit -noprompt -keystore "C:\Program Files (x86)\Java\jre7\lib\security\cacerts" -file "C:\Users\Blabla\Downloads\AC CAIXA-JUS v2.cer" -alias accaixa-jusv2

Torçamos para que algum dia esses certificados sejam distribuídos pela Microsoft, Mozilla, Oracle, assim nada disso será necessário.

Para instalar o Java da Oracle no Fedora sem remover o OpenJDK e usando o mecanismo alternatives para chavear entre eles:

Install Sun/Oracle Java JDK/JRE 6u45 on Fedora 19/18, CentOS/RHEL 6.4/5.9 (If Not True Then False)

Comentários