Certificado digital: ¿Cómo importar un archivo .cer en un archivo .truststore usando?

89

¿Alguien ha encontrado dónde tiene que lidiar con el archivo .truststore? y saber cómo importar .cer en un archivo .truststore?

No estoy seguro de tener que usar Java Keytool o el comando de Linux (como el comando openssl).

Gracias

netic
fuente

Respuestas:

196
# 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 es la contraseña predeterminada del almacén de confianza

Strelok
fuente
cualquiera sabe cómo hacerlo en openssl
Balamurugan
8
Este comando le permite descargar el certificado a un nombre de archivo y certfile.txt: openssl s_client -connect HOSTNAME: PORTNUM 2> & 1 | sed -ne '/ -BEGIN CERTIFICATE - /, / - END CERTIFICATE- / p'> certfile.txt --- Luego use keytool para importarlo en su tienda de confianza
Christian Achilli
2
Puede descargar el certificado de cualquier sitio web protegido con SSL en su navegador. En FireFox, simplemente haga doble clic en el símbolo de candado en el campo de dirección URL.
BetaRide
si tiene el archivo "jssecacerts", utilice "-keystore jssecacerts" en su lugar. "cacerts" se ignora
kommradHomer
23

En lugar de usar sedpara filtrar el certificado, también puede canalizar la openssl s_clientsalida openssl x509 -out certfile.txt, por ejemplo:

echo "" | openssl s_client -connect my.server.com:443 -showcerts 2>/dev/null | openssl x509 -out certfile.txt
jbuhacoff
fuente
Esta respuesta tenía la intención de mejorar el comentario de Christian sobre la respuesta aceptada sobre la descarga del certificado. Probablemente debería haber sido un comentario.
jbuhacoff
8

La forma de importar un archivo .cer en el almacén de confianza es la misma forma en que importaría un archivo .crt desde, por ejemplo, una exportación de Firefox.

No tiene que poner un alias y la contraseña del almacén de claves, solo puede escribir:

keytool -v -import -file somefile.crt  -alias somecrt -keystore my-cacerts

Utilice preferiblemente el archivo cacerts que ya está en su instalación de Java (jre \ lib \ security \ cacerts) ya que contiene certificados "populares" seguros.

Actualización sobre las diferencias de cer y crt (solo para aclarar) Según Apache con SSL - ¿Cómo convertir certificados CER a CRT? y usuario @Spawnrider

CER es un certificado X.509 en formato binario, codificado en DER.
CRT es un certificado binario X.509, encapsulado en codificación de texto (base-64).
No es la misma codificación.

Andreas Panagiotidis
fuente
1
Todo esto significa que exportó el archivo con un nombre ligeramente diferente. No cambia el archivo, la pregunta o la respuesta. Es aconsejable especificar un alias: de lo contrario, corre el riesgo de sobrescribir una importación anterior.
Marqués de Lorne
¿.Crt y .cer tienen algún formato? ¿La extensión no juega ningún papel en los certificados? Buen punto sobre el alias.
Andreas Panagiotidis
1
Respondo a mi pregunta: Sí, crt y cer tienen el mismo formato. La misma cosa. Puede importar ambos en la tienda de confianza.
Andreas Panagiotidis