Alguém descobriu onde tem que lidar com o arquivo .truststore? e saber como importar .cer para o arquivo .truststore?
Não tenho certeza se devo usar o Java Keytool ou o comando Linux (como o comando openssl).
obrigado
Respostas:
# Copy the certificate into the directory Java_home\Jre\Lib\Security
# Change your directory to Java_home\Jre\Lib\Security>
# Import the certificate to a trust store.
keytool -import -alias ca -file somecert.cer -keystore cacerts -storepass changeit [Return]
Trust this certificate: [Yes]
changeit é a senha do truststore padrão
Em vez de usar sed
para filtrar o certificado, você também pode canalizar a openssl s_client
saída openssl x509 -out certfile.txt
, por exemplo:
echo "" | openssl s_client -connect my.server.com:443 -showcerts 2>/dev/null | openssl x509 -out certfile.txt
A maneira como você importa um arquivo .cer para o armazenamento confiável é a mesma que importaria um arquivo .crt de, digamos, uma exportação do Firefox.
Você não precisa colocar um alias e a senha do keystore, basta digitar:
keytool -v -import -file somefile.crt -alias somecrt -keystore my-cacerts
De preferência, use o arquivo cacerts que já está em sua instalação Java (jre \ lib \ security \ cacerts), pois ele contém certificados "populares" seguros.
Atualização sobre as diferenças de cer e crt (só para esclarecer) De acordo com Apache com SSL - Como converter CER para certificados CRT? e o usuário @Spawnrider
CER é um certificado X.509 em formato binário, codificado por DER.
CRT é um certificado X.509 binário, encapsulado em codificação de texto (base 64).
Não é a mesma codificação.