Preservar os certificados de CA importados através de upgrades Java

3

Eu importei Autoridades de Certificação internas para o keystore da CA do Java. (Usando keytool para importar para a loja "cacerts") Isso funciona bem e dandy, até eu atualizar o Java RPM. Nesse momento, todos esses certificados importados não são transferidos para a nova instalação. Portanto, os aplicativos são bombardeados ao tentar fazer conexões SSL.

Existe alguma maneira de fazer esses certificados persistirem por meio de atualizações Java? Ou uma maneira fácil de executar novamente os comandos de importação em um gatilho de atualização? Obviamente, posso programar esses comandos no meu processo de atualização, mas espero que haja uma solução mais elegante.

Para referência, este é um equivalente do RHEL 5.10 (tecnicamente Oracle Linux). Estou usando o java-1.7.0-openjdk através dos repositórios oficiais e apenas atualizei para U65.

    
por Christopher Karel 13.10.2014 / 15:24

2 respostas

3

Pode ser útil manter o key-store / trust-store específico do site ou do host fora do diretório de instalação java e, em vez disso, apontar para ele quando precisar consumir confiança. Presumindo que seu trust-store esteja em /opt/site/cacerts.JKS , você faria isso de duas maneiras:

No seu código Java, adicione uma linha como: System.setProperty("javax.net.ssl.trustStore","/opt/site/cacerts.JKS");

No tempo de execução, adicione uma definição ao seu script de inicialização: java -D'javax.net.ssl.trustStore'="/opt/site/cacerts.JKS" /opt/site/myClass.class

    
por 17.10.2014 / 05:41
2

Do jeito que eu faço (talvez não seja o melhor?): salvar cacerts antes de atualizar e restaurar depois, eu escrevi no meu script de atualização como este:

1) salve:

javaexe='readlink -f  /usr/bin/java'
jredir='dirname $javaexe'
cacertsfile=${jredir}/../lib/security/cacerts
[ -f $cacertsfile ] && cp -p $cacertsfile /tmp/cacerts

2) instale atualizações (yum update ou outro jeito).

3) restaurar:

[ -f /tmp/cacerts ] && cp -p /tmp/cacerts $cacertsfile
    
por 14.10.2014 / 13:23