Obtener los certificados SSL de un sitio para importarlos en un almacén de certificados
Por amunoz el Lunes, 12 de Junio de 2017, 12:00 - Enlace permanente
Hace tiempo tuve que instalar en un servidor una serie de certificados de un sitio web para hacer funcionar una aplicación java, buscando por ahí (no recuerdo donde exactamente) encontré cómo hacerlo en linux con un comando que extrae todos los certificados de un sitio y los almacena en un fichero utilizando openssl.
El comando es el siguiente:
echo "" | openssl s_client -host {HOST} -port 443 -showcerts | awk '/BEGIN CERT/ {p=1} ; p==1; /END CERT/ {p=0}' > certificados.pem
Habría que reemplazar {HOST} por el servidor del que quieres obtener los certificados y el puerto 443 si es otro.
Para instalar los certificados en el almacén de certificados de java bastaría con ejecutar el siguiente comando:
keytool -import -keystore $JAVA_HOME/jre/lib/security/cacerts -trustcacerts -alias "Alias" -file certificados.pem
Hay que tener en cuenta que si el fichero certificados.pem contiene más de un certificado se añadirán con el mismo "Alias". Se podrían separar en ficheros distintos para agregarlos con un alias distinto.
Saludos!