¿Es el archivo de almacén de claves (server.jks), mi archivo de clave privada?

3

Mi tarea es convertir .p7b a .pfx . Sería genial, si pudieras proporcionarme algunos consejos.

A continuación se muestran los pasos que utilicé para generar el archivo .p7b :

  1. Generé un archivo .jks (almacén de claves java) usando el siguiente comando

    C:\Program Files\Java\jdk1.6.0_33\bin>keytool -genkey -alias serverkey -keyalg RSA -keystore C:\server\production\ssl\Server.jks -keysize 2048
    
  2. Desde el archivo de almacén de claves, creé una CSR usando el siguiente comando

    keytool -certreq -alias serverkey -file ServerCSR.csr -keystore Server.jks
    
  3. Proporcioné este archivo .CSR a una autoridad de certificación de CA local. Ellos me proporcionó el certificado en formato .p7b

Tengo dos preguntas:

  1. ¿Y cómo podemos convertir el archivo .p7b al formato .pfx ?
  2. ¿Es el archivo de almacén de claves ( server.jks ), mi archivo de clave privada que se le solicita convertir en varios enlaces disponibles en google?
pregunta Praful Sonarkar 30.06.2014 - 14:37
fuente

1 respuesta

1

Sí, hiciste keytool genkey en el archivo server.jks para que ese archivo contenga tu clave privada. Lo que debe hacer es primero agregar su certificado (cadena) a la JKS, LUEGO convierta la JKS a "PFX". El p7b por sí mismo no contiene información suficiente.

El .p7b de la CA contiene el certificado para su servidor y puede contener otros certificados de "cadena" o "intermedios" de los que depende su certificado de servidor. Usted dice que este certificado es de una "CA local"; es que la propia CA delegada de una conocida "raíz" CA como Verisign? Si no, si la CA local tiene su propia raíz, ¿esa raíz ya está agregada al archivo cacerts y / o jssecacerts en su JAVA_HOME/lib/security ? (Si usted u otros usuarios en su sistema han estado interactuando con sistemas que usan esta CA y tiene una raíz privada, es probable que ya haya necesitado agregarla a un almacén de confianza, pero no necesariamente la estándar).

SI la cadena que le dio la CA usa una raíz que ya se encuentra en cacerts distribuido en Java como Verisign o se ha agregado a cacerts en su sistema específico, ejecute

keytool -keystore server.jks -alias serverkey -import -file whatever.p7b -trustcacerts 

La respuesta debe ser "La respuesta del certificado se instaló en el almacén de claves". Si dice "El certificado se agregó al almacén de claves", en realidad es un error aunque no lo diga. Luego conviértalo a PKCS # 12, que es el estándar real de Microsoft y algunas otras personas llaman PFX, como una línea pero interrumpida por publicación:

keytool -importkeystore -srckeystore server.jks -destkeystore server.pfx 
-deststoretype pkcs12 -srcalias serverkey 

En el primer paso, si la raíz necesaria (o el ancla) no está en cacerts (bien conocida o ya se ha agregado) pero al menos un certificado CA está en la p7b, keytool mostrará información sobre la certificado de "nivel superior" y pregunte Install reply anyway? ; solo responde "si". Si algo más complicado está mal, dale detalles.

    
respondido por el dave_thompson_085 01.07.2014 - 12:21
fuente

Lea otras preguntas en las etiquetas