Pregunta

Estoy tratando de configurar un servidor Tomcat con SSL. He generado un keypair así:

$ keytool -genkeypair -alias tomcat -keyalg RSA -keystore keys

A continuación, genero una solicitud de firma de certificado:

$ keytool -certreq -keyalg RSA -alias tomcat -keystore keys -file tomcat.csr

Luego copio el contenido de tomcat.csr en un formulario en el sitio web de Thawte, solicitando un certificado SSL de prueba. A cambio obtengo dos certificados delimitados con -----BEGIN ... -----END, que guardo tomcat.crt y thawte.crt. (Thawte llama al segundo certificado un certificado de 'prueba de Thawte CA').

Cuando intento importar cualquiera de ellos falla:

$ keytool -importcert -alias tomcat -file tomcat.crt -keystore keys
Enter keystore password:
keytool error: java.lang.Exception: Failed to establish chain from reply

$ keytool -importcert -alias thawte -file thawtetest.crt -keystore keys
Enter keystore password:
keytool error: java.lang.Exception: Input not an X.509 certificate

Agregando el -trustcacerts La opción a cualquiera de estos comandos tampoco cambia nada.

¿Alguna idea de lo que estoy haciendo mal aquí?

¿Fue útil?

Solución

Finalmente entendí lo que estaba pasando aquí. Resulta que las respuestas que obtuve de Thawte están formateadas como PKC#7, mientras que keytool espera certificado en el formato X.509.

openssl se puede usar para convertir certificados de un formato a otro:

$ openssl pkcs7 -in thawtetest.crt -print_certs |
  openssl x509 > thawtetest.x509

Ahora puedes importar thawtetest.x509 con keytool y tomcat.crt justo detrás de esto.

Otros consejos

Debería poder importar cadenas PKC#7 usando Keytool, siempre que esté utilizando una versión más reciente. La exportación de los certificados en archivos distintos también funcionará, pero si está ejecutando una versión reciente de KeyTool, no debería haber problemas para importar el archivo PKCS#7 en sí.

Haberme encontrado con el mismo problema que encontré esta publicación Lo que me ayudó. Puse los certificados de prueba que recibí en un solo archivo y usé keytool para importar hacer Seguro que el alias (keytool -alias param) que utilicé fue diferente (es decir, no es el mismo alias que usé al crear los certificados para la solicitud). Es un extraño mensaje de error dado que simplemente no le gusta que intente importar al mismo alias.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top