No se puede importar la clave pública en OSX Keychain

21

Creé un par de certificados S / MIME autofirmados (usando OSX Keychain y OpenSSL) y luego los exporté a 3 archivos:

  • Certificado (.cer)
  • Clave privada (.p12)
  • Clave pública (.pem)

Al intentar importarlos de nuevo a otra Mac, el Certificado y la Clave privada se importaron sin ningún problema. Pero la clave pública no se puede importar.

En su lugar, recibo el siguiente mensaje de error:

Se ha producido un error. No se puede importar un artículo.

El contenido de este tiempo no se puede recuperar

Captura de pantalla del error OSX Keychain al importar la clave pública

¿Cómo puedo importar la clave pública? ¿Debería convertirse a otro formato para importar?

Prembo
fuente
¿Por qué quieres importar la clave pública? Es la clave privada que necesita importar. La clave pública se deja en el servidor, la clave privada se exporta al cliente, y eso es todo.
MariusMatutiae
Lo suficientemente justo, por lo que no hay forma de importar una clave pública manualmente a través de Keychain (por ejemplo, si alguien le proporcionó su clave pública como un archivo, en lugar de enviarle un correo electrónico).
Prembo
1
Puede usar scp para copiar todos los archivos de uno a otro, durante el período en que se permite la conexión con contraseña. Luego, cuando tenga todas las claves en su lugar, puede deshabilitar el inicio de sesión con contraseña.
MariusMatutiae

Respuestas:

31

Es un error en OSX. Puede importar desde la línea de comandos según esta respuesta:

/programming//a/11979625/59198

El comando es:

security import pub_key.pem -k ~/Library/Keychains/login.keychain

Luego deberá cambiar el nombre de la clave en keychain.app

Chris
fuente
¿A dónde importa? Todavía no puedo encontrarlo en el llavero.
huggie
@huggie Lo carga con un nombre realmente genérico en el llavero, algo así como 'clave pública' posiblemente, busque algo nuevo allí.
Chris
1

El certificado en realidad contiene una copia de la clave pública (junto con un nombre y una firma de la autoridad del certificado que dice que ese nombre y esa clave pública van juntos). Normalmente no necesita tratar con la clave pública como un elemento separado si está utilizando un sistema basado en certificados como SMIME. Si lo desea, puede extraer una copia de la clave pública del certificado utilizando el x509comando openssl .

(Me pregunto si Keychain se niega a importar la clave pública porque cree que ya tiene una copia, en el certificado. Los mensajes de error de Keychain suelen ser bastante vagos).

Wim Lewis
fuente
1

Un archivo .p12 puede contener su par de claves. Se le pedirá una contraseña si contiene su clave privada. El llavero mostrará la clave privada de forma anidada. Si se importa correctamente, debería aparecer en "Mis certificados".

bbaassssiiee
fuente