2010-09-16 12 views

Respuesta

22

Es muy fácil extraer los certificados directamente con keytool, es un poco más complicado extraer la clave privada (aunque podría escribir programas para hacerlo). Sugeriría usar una combinación de keytool y openssl.

Si su almacén de claves está en formato PKCS # 12 (archivo .p12), omita este paso. Convertir su tienda JKS en una tienda PKCS12 usando keytool (necesita la versión de Java 6+)

keytool -importkeystore -srckeystore thekeystore.jks \ 
         -srcstoretype JKS \ 
         -destkeystore thekeystore.p12 \ 
         -deststoretype PKCS12 

A continuación, extraer el certificado mediante OpenSSL:

openssl pkcs12 -in thekeystore.p12 -clcerts -nokeys -out servercert.pem 

extraer la clave privada:

umask 0077 
openssl pkcs12 -in thekeystore.p12 -nocerts -nodes -out serverkey.pem 
umask 0022 

Tenga en cuenta que, como la opción -nodes se usa al extraer la clave privada, el archivo de clave privada no estará protegido (ya que no debe tener una contraseña para ser nosotros) capaz por Apache Httpd), así que asegúrese de que nadie más pueda leerlo.

Luego, configure Apache Httpd utilizando SSLCertificateFile y SSLCertificateKeyFile para apuntar al archivo de certificado y al archivo de clave privada, respectivamente.

+0

-srsstoretype debería ser -scrstoretype – jramoyo

+0

@jramoyo, gracias por detectar este error tipográfico. (También podría haber sugerido ediciones directamente). – Bruno

+0

Desafortunadamente servercert.pem está vacío (0 bytes). ¿Alguna pista? –