Keytool: Importando uma chave da Let's Encrypt

From Wiki

Tive um problema em um cliente, onde uma aplicação Java não acessava um servidor HTTPs com a chave da Let's Encrypt.

Realizei os seguintes passos para importar a chave.

1) Verificando o certificados do site

openssl s_client -connect <HOST:PORT> </dev/null > site-key.der

resultado:

depth=1 C=US O=Let's Encrypt, CN=R3

2) Ir para o diretório da cacerts e fazer o backup da cacerts

cd /opt/java-1.8.0/jre/lib/security

cp cacerts cacerts_orig

3) Verificar se existe o certificado da Let's Encrypt e da ISRG Root X1

keytool -v -list -keystore cacerts -storepass changeit | grep "ISRG Root X1"

keytool -v -list -keystore cacerts -storepass changeit | grep Encrypt

No meu caso a ISRG já existia, mas a Encrypt não.

Baixe os arquivos .der do seguinte site https://letsencrypt.org/certificates/

4) Importe usando comando

keytool -import -keystore cacerts -storepass changeit -noprompt -trustcacerts -alias letsencryptr3 -file lets-encrypt-r3.der

4) Verificando o import

keytool -v -list -keystore cacerts -storepass changeit | grep Encrypt

resultado:

Owner: CN=R3, O-Let's Encrypt, C=US

Ver também