I formati di chiave privata di OpenSSL originali o "legacy" (per algoritmo) possono essere crittografati (PBE) solo in formato PEM non DER, ma il nuovo formato PKCS # 8 può essere PBE in PEM o DER , e PKCS # 12 è automaticamente PBE e sempre DER (PEM non è definito per questo). PKCS # 8 e PKCS # 12 sono anche meglio funzionalmente in quanto gestiscono automaticamente più algoritmi senza l'aiuto dell'utente.
Devi tenere traccia di se i file DER PKCS # 8 sono crittografati, perché non hai l'intestazione PEM per dire "BEGIN PRIVATE KEY" rispetto a "BEGIN PRINCIPE PRIVATO KEY".
PKCS # 8 è stato implementato da circa 2000 AIR, ma attraverso i formati legacy 0.9.8 sono stati utilizzati dalla maggior parte delle funzioni della riga di comando diverse da pkcs8
; per 1.0.0 e versioni successive (dal 2010 circa) molti ma ancora non tutte le funzioni della riga di comando utilizzano PKCS # 8.
Guarda le routine d2i/i2d
e le routine PEM_read/write
, per PKCS8PrivateKey
anziché {RSA,DSA,EC}PrivateKey
. Osserva anche le routine PKCS12_*
se interessate, ma è molto più complicato. OTOH è anche più ampiamente utilizzato e interoperabile, se questo è di alcun beneficio per voi. (PKCS # 12 è anche chiamato PFX da Microsoft e altri.)