¿En qué formato se encuentra una clave privada RSA descifrada, específicamente en OS X Keychain?

2

Estaba intentando extraer una clave no exportable de OS X Keychain. Utilicé esta herramienta para extraer la clave. La herramienta me da un hexdump de la clave privada. Una clave RSA 2048 bit resultó ser 2441 bits, después de extraerla a través de la herramienta.

El problema es que no puedo averiguar en qué formato está la clave para convertirla a PEM / DER o cualquier formato estándar. Después de la extracción, se ve así:

[+] Private Key Record
 [-] PrintName: <name>
 [-] Label
<hexdump>                                       
 [-] Key Class : CSSM_KEYCLASS_PRIVATE_KEY
 [-] Private : 0
 [-] Key Type : CSSM_ALGID_RSA
 [-] Key Size : 2048 bits
 [-] Effective Key Size : 2048 bits
 [-] Extracted : 0
 [-] CSSM Type : Core CSP (local space)
 [-] Key Name
<hexdump>
 [-] Decrypted Private Key
<hexdump>

¿Alguien sabe en qué formato está esta clave privada descifrada? ¿Y / o cómo convertirlo a un formato compatible con OpenSSL?

    
pregunta Vegetto 01.06.2018 - 02:55
fuente

2 respuestas

1

Estoy leyendo entre líneas los documentos de Chainbreaker y tu OP (no he probado la herramienta todavía), y parece que la clave privada debería estar completamente presente en "Clave privada desencriptada" en formato hexadecimal sin formato. El resto parece ser un formato de visualización novedoso para los metadatos.

En pocas palabras, creo que necesita convertir la clave hexadecimal en bruto en base64, que es la forma en que estamos acostumbrados a ver las claves RSA en texto sin formato. Esta respuesta lo explica bastante bien: enlace

    
respondido por el qzyphus 01.06.2018 - 03:25
fuente
0

Mientras que la clave está codificada en hexadecimal, todas las claves utilizan un estándar de codificación llamado ASN.1 .

Una cadena de certificados típica puede almacenarse de diferentes maneras dependiendo de las necesidades. Algunos de ellos son PKCS # 1, 7, 8 y amp; 12. Hay otros, pero esos son los más comunes.

Según la salida anterior, asumiría una cadena de certificado encriptado PKCS # 12 (este método permite claves privadas y certificados x509).

Aunque no estoy familiarizado con las herramientas que mencionas, la interfaz de línea de comandos de OpenSSL tiene bastantes para ayudar ...

# openssl rsa -help debería comenzar

    
respondido por el jas- 01.06.2018 - 04:19
fuente

Lea otras preguntas en las etiquetas