En Keychain Access en OS X, busque las claves públicas y privadas coincidentes

14

Tengo un par de claves que parecen haberse generado con los mismos nombres. Me gustaría saber qué clave pública coincide con qué claves privadas para poder cambiarles el nombre / eliminarlas. ¿Es esto algo importante (mantener la clave pública) o se genera una clave pública cada vez que solicita un certificado?

ACBurk
fuente
¿Pudiste encontrar una solución para esto? Tengo el mismo problema y parece que no puedo encontrar una respuesta.
Axeva
No, no lo he hecho. La mejor solución que he encontrado es simplemente darles un nombre más único para empezar, desafortunadamente.
ACBurk
Sí, eso no es terriblemente útil DESPUÉS de que ya hemos cometido el error de no nombrarlos correctamente. ;) He visto rumores que sugieren que la herramienta de línea de comandos OpenSSL puede ayudar, pero aún no he descubierto cómo.
Axeva

Respuestas:

12

Supongo que ha podido solucionar su problema, ya que este es un hilo viejo, pero solo estoy escribiendo una respuesta para cualquier referencia futura.

La idea básica es exportar sus claves privadas y públicas, y usar openssl para ver su módulo. Las claves privadas / públicas coincidentes tendrán el mismo módulo.

Aquí se explica cómo ver el módulo de una clave privada:

  1. En Keychain Access, exporte su clave privada y seleccione el formato de archivo "Intercambio de información personal (.p12)". Esto creará el archivo .p12.

  2. Inicie una terminal y use openssl para convertir su archivo .p12 a un archivo .pem:

    openssl pkcs12 -in key.p12 -out key.pem -nodes
    
  3. Use openssl para ver el módulo de la clave privada pem:

    openssl rsa -in key.pem -modulus -noout
    

Aquí se explica cómo ver el módulo de una clave pública:

  1. En Keychain Access, exporte su clave pública y seleccione el formato de archivo "Correo mejorado de privacidad (.pem)". Esto creará un archivo .pem.

  2. Este archivo .pem es un archivo PKCS # 1 PEM (con un encabezado -----BEGIN RSA PUBLIC KEY-----), mientras que openssl solo puede leer PKCS # 8 PEM (con un encabezado -----BEGIN PUBLIC KEY-----). Abra su clave pública exportada en TextEdit y elimine el RSAbit del encabezado y el pie de página, y guarde los cambios.

  3. Use openssl para ver el módulo de la clave pública pem:

    openssl rsa -pubin -in pubkey.pem -modulus -noout
    

Tenga en cuenta también que, de hecho, también podría eliminar sus claves públicas y volver a crearlas a partir de las claves privadas (de esa manera podría estar seguro de sus pares coincidentes). Para crear la clave pública coincidente a partir de una clave privada, use el siguiente comando openssl:

openssl rsa -in key.pem -pubout -out pubkey.pem
quentinadam
fuente
1
Gracias, vieja pregunta, pero siempre parece un problema, así que finalmente es bueno tener una buena solución.
ACBurk
1
Brillante, justo lo que estaba buscando. Gracias por la buena descripción.
Baza207
Acabo de hacer esta pregunta nuevamente en SuperUser, pero he tenido la suerte de descubrir esta respuesta ya dada ... +1 por todas partes.
Tom Pace