2010-03-20 25 views
12

Tengo claves públicas y privadas en archivos .pem separados que de alguna manera necesitaría ingresar a un almacén de claves JKS.Importación .pem claves públicas y privadas al almacén de claves JKS

Se intentó usar el comando -import en KeyTool para esto, que da un error "no es un certificado X.509".

Supongo que la solución tiene que ver con OpenSSL, pero no estoy del todo seguro de qué hacer con él.

Realmente agradecería cualquier ayuda con esto, ya que estoy completamente despistado con todo lo relacionado con la criptografía.

Gracias de antemano, --Rolf

Respuesta

3

KeyTool espera que la objetos en formato DER. PEM es DER con codificación Base64, con un encabezado y un pie de página. KeyTool no puede analizar PEM.

Sin embargo, OpenSSL puede convertir objetos PEM a DER. Por ejemplo, para un certificado X.509, el indicador de línea de comandos -outform DER indica a OpenSSL que use DER como formato de salida.

This page aparentemente contiene algunas explicaciones más detalladas.

+0

Hola, gracias por responder! Logré convertir la clave privada a DER con OpenSSL, pero no la clave pública. openssl x509 -in pubkey.pem -Informar PEM salida privado pubkey.der -outform DER resultados en el siguiente error: no puede cargar certificado 5280: Error: 0906D06C: rutinas PEM: PEM_read_bio: ninguna línea de salida :. \ crypto \ pem \ pem_lib .c: 642: Esperando: CERTIFICADO DE CONFIANZA Supongo que espera que el archivo de clave pública comience con un encabezado "COMIENZO CERTIFICADO DE CONFIANZA", pero lo que realmente contiene es "COMIENZO CLAVE PÚBLICA" " – Rolf

+4

Tiene una" clave pública solitaria ". Necesitas un certificado KeyTool sigue el formato KeyStore, que acepta claves privadas solo si vienen con certificados. Un certificado contiene la clave pública, junto con otra información, como una identidad (el "nombre del propietario de la clave") y una firma de una "autoridad de certificación". Puede usar la clave privada para crear un "certificado autofirmado" (un certificado donde la firma se calcula con relación a la clave misma); intente esto: 'openssl req -new -x509 -key privkey.pem -out cert.pem' –

+0

De acuerdo, eso me puso en el camino correcto, ¡gracias! – Rolf

Cuestiones relacionadas