2010-04-09 8 views
7

Estoy intentando configurar un servidor Tomcat con SSL. He generado un par de claves de este modo:Importación de certificados de prueba de Thawte en un almacén de claves Java

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

siguiente que generar una solicitud de firma de certificado:

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

Luego copiar y pegar el contenido de tomcat.csr en un formulario en la página web de Thawte, pidiendo un juicio Certificado SSL A cambio obtengo dos certificados delimitados con -----BEGIN ... -----END, que guardo bajo tomcat.crt y thawte.crt. (Thawte llama al segundo certificado un certificado 'Thawte Test CA Root').

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 

Añadiendo la opción -trustcacerts a cualquiera de estos comandos no cambia nada.

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

Respuesta

14

Finalmente entendí lo que estaba pasando aquí. Resulta que las respuestas que recibí de Thawte están formateadas como PKCS # 7, mientras que keytool esperan certificadas en el formato X.509.

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

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

Ahora puede importar thawtetest.x509 con herramienta de claves, y tomcat.crt justo detrás de él.

+0

Gracias ... Usted pensaría que mencionarían esto en el correo electrónico ... ¡Ya que el intermedio (también en el correo electrónico) es x509! –

0

Debería poder importar cadenas PKCS # 7 usando keytool, siempre y cuando esté usando una versión más reciente. Exportar los certs en distintos archivos también funcionará, pero si está ejecutando una versión reciente de keytool, no debería haber problemas para importar el archivo PKCS # 7.

0

Al haber tenido el mismo problema encontré this post que me ayudó. Puse los certificados de prueba que recibí en un solo archivo y utilicé keytool para importar haciendo para asegurar que el ALIAS (keytool -alias param) que utilicé fuera diferente (es decir, no el mismo alias que utilicé al crear los certificados para la solicitud). Es un mensaje de error extraño dado que simplemente no le gusta que intente importar al mismo alias.

Cuestiones relacionadas