Keytool: Importando chave TLS do servidor LDAP: Difference between revisions

From Wiki
Line 22: Line 22:
Realizei os seguintes passos para importar a chave.
Realizei os seguintes passos para importar a chave.


1) Ir para o diretório da cacerts e fazer o backup da cacerts
1) Verificando o certificados do site
 
openssl s_client -connect '''<HOST:PORT>''' </dev/null > site-key.der
 
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
  cd /opt/java-1.8.0/jre/lib/security
Line 28: Line 34:
  cp cacerts cacerts_orig
  cp cacerts cacerts_orig


2) Verificar se existe o certificado da Let's Encrypt e da ISRG Root X1
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 "ISRG Root X1"
Line 38: Line 44:
Baixe os arquivos .der do seguinte site https://letsencrypt.org/certificates/
Baixe os arquivos .der do seguinte site https://letsencrypt.org/certificates/


3) Importe usando comando
4) Importe usando comando


  keytool -import -keystore cacerts -storepass changeit -noprompt -trustcacerts -alias letsencryptr3 -file lets-encrypt-r3.der
  keytool -import -keystore cacerts -storepass changeit -noprompt -trustcacerts -alias letsencryptr3 -file lets-encrypt-r3.der
Line 45: Line 51:
   
   
  keytool -v -list -keystore cacerts -storepass changeit | grep Encrypt
  keytool -v -list -keystore cacerts -storepass changeit | grep Encrypt
 
  Owner: CN=R3, O-Let's Encrypt, C=US
  Owner: CN=R3, O-Let's Encrypt, C=US



Revision as of 18:19, 11 October 2023

Exemplo de criação de arquivo para pegar a chave TLS/SSL de um servidor LDAPS

# openssl s_client -showcerts -connect ldapserver.empresax.com:636 < /dev/null > /tmp/cst-key.out

# openssl x509 -outform DER < /tmp/cst-key.out > /tmp/cst-key.der

# openssl x509 -inform der -in /tmp/cst-key.der -out /tmp/cst-key.pem

# keytool -import -alias Selfsigned -keystore cacerts -file /tmp/cst-key.pem

informar uma senha, exemplo "changeit" e depois sim para aceitar a importação do certificado


No seu programa java informe para utilizar o arquivo

System.setProperty("javax.net.ssl.trustStore", "/home/ebasso/cacerts");

Importando uma chave da Let's Encrypt

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
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
Owner: CN=R3, O-Let's Encrypt, C=US

Ver também