In che formato è inserita una chiave privata RSA decodificata, in particolare in OS X Keychain?

2

Stavo cercando di estrarre una chiave non esportabile da OS X Keychain. Ho usato lo strumento questo per estrarre la chiave. Lo strumento mi dà un dump esadecimale della chiave privata. Una chiave RSA 2048 bit è risultata essere 2441 bit, dopo l'estrazione attraverso lo strumento.

Il problema è che non riesco a capire in che formato è inserita la chiave, per convertirla in PEM / DER o in qualsiasi formato standard. Dopo l'estrazione, appare come segue:

[+] 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>

Qualcuno sa in che formato è inserita questa chiave privata decrittografata? E / o come convertirlo in un formato supportato da OpenSSL?

    
posta Vegetto 01.06.2018 - 02:55
fonte

2 risposte

1

Sto leggendo tra le righe dei documenti del chainbreaker e del tuo OP (non avendo ancora provato lo strumento) e sembra che la chiave privata debba essere completamente presente in "Chiave privata decifrata" in formato esadecimale grezzo. Il resto sembra essere solo un nuovo formato di visualizzazione per i metadati.

In parole povere, credo che sia necessario convertire la chiave esadecimale grezza in base64 che è il modo in cui siamo abituati a vedere le chiavi RSA in testo semplice. Questa risposta lo spiega abbastanza bene: link

    
risposta data 01.06.2018 - 03:25
fonte
0

Mentre la chiave è codificata in formato esadecimale, tutte le chiavi utilizzano uno standard di codifica chiamato ASN.1 .

Una catena di certificati tipica può essere memorizzata in diversi modi a seconda delle esigenze. Alcuni di questi sono PKCS # 1, 7, 8 e amp; 12. Ce ne sono altri, ma quelli sono i più comuni.

In base all'output precedente, presumo una catena di certificati crittografati PKCS # 12 (questo metodo consente chiavi private e certificati x509).

Anche se non ho familiarità con gli strumenti che menzionate, l'interfaccia della riga di comando di OpenSSL ne ha parecchi per aiutare ...

# openssl rsa -help dovrebbe iniziare

    
risposta data 01.06.2018 - 04:19
fonte

Leggi altre domande sui tag