¿Cómo creo una clave privada cuando tengo un certificado en un archivo PKCS12?

0

Tengo certificados de cliente para mis direcciones de correo electrónico de cacert.org y los he almacenado correctamente como archivos PKCS12 y los he usado para firmar correos electrónicos en Thunderbird.

Sin embargo, cuando alguien usa mis correos electrónicos firmados para enviarme una respuesta cifrada, no puedo descifrarlos. Thunderbird me dice que no tengo una clave privada, y ahora que lo pienso, nunca hice una en el proceso. Aunque me parecería extraño que la AC me enviara la clave privada, parece poco probable.

Ya que solo puedo crear la clave privada, y como la CA me entrega el certificado, ¿cómo creo una clave coincidente para el certificado? Lo que me parece extraño es que realmente no debería poder hacerlo de esta manera, creo. ¿No debería tener un par de claves público-privadas y tener mi clave pública certificada?

Estoy en Linux (Ubuntu Precise), y he usado ssh-keygen y openssl Antes, en diferentes contextos. Una explicación general que se extienda a algo más que mi configuración sería apreciada.

Hanno Fietz
fuente
¿Cómo generaste las solicitudes de certificado? Es muy probable que haya generado la clave privada en ese momento. (Y es más probable que esté en el archivo PKCS12).
David Schwartz
@David Hmmm. Eso parece plausible, pero a) No recuerdo haberlo hecho yb) Estoy bastante seguro de que si alguna vez tuve uno, ya no lo tengo. Intentaré crear un nuevo certificado y ver qué pasa. Si está en el archivo PKCS12, ¿puedo verificarlo? ¿Y no lo habría importado Thunderbird desde el archivo, como lo hizo con el certificado?
Hanno Fietz

Respuestas:

2

Puede extraer la clave privada del archivo PKCS # 12 con este comando:

openssl pkcs12 -nocerts -nodes < MyPKCS12file.p12 > myKeyFile.pem
David Schwartz
fuente
Gracias. Eso seguro produce una clave privada. Así que ahora para descubrir por qué Thunderbird no lo usa.
Hanno Fietz
Pero eso significa que la CA me envió la clave privada a través de la web. (y ha estado en posesión de mi clave privada, al menos en un punto en el tiempo.) ¿No es eso derrotar el propósito de toda la criptografía asimétrica?
Hanno Fietz
¿La CA le envió el archivo PKCS # 12? ¿Estás seguro de que tu navegador no lo logró? (O cualquier herramienta que estuvieras usando).
David Schwartz
Instalé el certificado a través del sitio web de CA en Firefox y luego exporté un archivo .p12. Esto significa que el certificado estaba listo antes de que Firefox lo supiera (hice que la CA lo creara yendo a su sitio web con Chrome). No veo qué debería evitar que alguien más use la misma ruta. OTOH, no ayudará a descifrar correos electrónicos dirigidos a mí: P
Hanno Fietz
1
@HannoFietz: lo más probable es que un programa que se ejecuta localmente en su navegador genere el archivo P12, combinando el certificado de la CA con la clave que se generó localmente y nunca se envió a la CA. Pero para las aplicaciones de alta seguridad, recomiendo no usar ningún esquema que no pueda controlar directamente para asegurarse de que generó la clave y nunca se filtró.
David Schwartz