Le risposte alle tue domande sono tutte nella specifica PKCS # 12. Prenderò come riferimento il recente RFC 7292 , che corrisponde a "PKCS # 12: Sintassi di scambio di informazioni personali v1. 1" .
È importante notare che la chiave privata non deriva dalla password. Ciò che deriva dalla password è la chiave simmetrica che protegge l'oggetto PKCS12, che non è completamente correlato alla chiave privata. In effetti, lo standard PKCS # 12 può anche essere utilizzato per proteggere certificati, CRL o altre informazioni varie. Inoltre, la protezione basata su password non è l'unico metodo. Può utilizzare la crittografia a chiave pubblica o addirittura nessuna crittografia, quindi le informazioni rimangono non protette.
Nella modalità di protezione basata su password, la chiave simmetrica utilizzata viene derivata utilizzando PBKDF2. In particolare:
[...] Specifically, PBES2 should be used as encryption scheme, with PBKDF2
as the key derivation function.