Linux: onde armazenar CAs confiáveis de Java

1

Preciso de um conselho sobre a melhor prática de armazenar CA organizacional em servidores Linux para Java.

Basicamente, a instalação do JRE contém uma lista de CAs confiáveis no arquivo cacerts, que é usado por padrão por aplicativos java em execução no servidor.

Para oferecer suporte à CA da organização, estamos adicionando as CAs nos cacerts manualmente.

Essa abordagem funciona, no entanto, a questão é que, quando você atualiza o JRE, os cacerts são sobrescritos e, portanto, é necessário adicionar os certificados novamente.

Estou procurando uma solução melhor para o processo.

Portanto, há uma maneira de manter as CAs organizacionais em algum arquivo diferente e usar alguma configuração global de Linux / Java que instruiria os aplicativos Java que pesquisam a CA nesse arquivo, se não forem encontrados nos cacerts?

    
por spoonboy 03.05.2016 / 23:47

3 respostas

0

Você pode usar o JAVA_OPTS para especificar parâmetros adicionais ao iniciar o Tomcat. Você pode usar -Djavax.net.ssl.keyStore=customkeystore . Eu uso o JAVA_OPTS no tomcat7.conf, que é apenas um link simbólico para setenv.sh. Espero que isso ajude.

    
por 04.05.2016 / 00:03
0

the issue is that when you update the JRE the cacerts gets overwritten and you have to (manually) add the certificates again

Esse é exatamente o caso de uso de uma ferramenta de gerenciamento de configuração, o fantoche no nosso caso, que permite automatizar essas coisas.

No pseudo código, um simples loop:

  • Para cada versão do Java instalada (no RHEL, facilmente encontrada com alternatives )
  • Use o keytool associado no arquivo cacerts correspondente para listar CERs instalados / disponíveis da CA
  • Se o (s) certificado (s) personalizado (s) não está presente
  • Adicione cert (s) com keytool
  • Feito.
por 04.05.2016 / 00:30
0

So, is there a way to keep the organisational CAs in some different file and use some global Linux/Java setting that would instruct java applications searching for CA in this file if not found in the cacerts?

Tanto quanto eu entendo a forma como Java e aplicativos estão usando o armazenamento de certificados, não.

Além de manter um arquivo de loja da CA da empresa em um local central e talvez fora do diretório de instalação do Java (compartilhamento NFS, links simbólicos, etc.), não vejo outra opção.

    
por 15.03.2018 / 12:13

Tags