Esporta la chiave privata non estraibile dal portachiavi su OS X

5

Ho un certificato PKI in Keychain Access.app su OS X 10.9, insieme alla chiave privata.

La pagina di manuale per /usr/bin/security indica che esiste un'opzione -x per security import per specificare che private keys are non-extractable after being imported , che credo debba essere stato utilizzato sulla mia chiave.

Tuttavia, non esiste una memoria magica con protezione da copia e se il certificato è ancora utilizzabile nel sistema in qualche modo, allora sicuramente è ancora lì da qualche parte, conservato nella sua piena gloria con tutti i bit rilevanti, e sicuramente ci deve essere un modo per esportarlo ancora. Come?

    
posta cnst 30.07.2014 - 18:15
fonte

2 risposte

3

Apparentemente, il framework di sicurezza open source ha verificato se gli attributi chiave sono impostati su non esportabili. La sovrascrittura di questi attributi funzionerebbe. Puoi anche provare a eseguire VPN / browser con un debugger e interrompere una funzione che utilizza la chiave. Da lì puoi ottenere un puntatore alla memoria ed estrarre la chiave privata.

lldb -- security export -k test.keychain -o asdf -w
break impExpWrappedKeyOpenSslExport
    
risposta data 04.08.2014 - 09:56
fonte
0

Come per link , sembra che OS X 10.5 non supporti la chiave del dizionario kSecAttrIsExtractable e il bit CSSM_KEYATTR_EXTRACTABLE .

Come tale, sembra possibile copiare login.keychain da OS X 10.9 a 10.5 ed eseguire l'esportazione p12.

    
risposta data 09.08.2014 - 07:13
fonte