convertire il formato pfx in p12


119

Devo esportare un .pfxcertificato di formato (da Windows mmc) a .p12 da utilizzare in un'altra applicazione. Non riesco a trovare un modo per farlo. Qualcuno può suggerire un metodo?

Risposte:


202

.p12e .pfxsono entrambi file PKCS # 12. Mi sto perdendo qualcosa?

Hai provato a rinominare il .pfxfile esportato per avere .p12un'estensione?


9
Ti viene da chiederti perché sono due estensioni di file diverse se sono davvero la stessa cosa sotto il cofano.
BrainSlugs83

29
Il motivo per cui esistono due estensioni di file è storico. PFX era un'estensione di Microsoft, mentre P12 era quella di Netscape. Entrambi i formati sono stati adattati ora per essere identici, il che significa che gli sviluppatori possono utilizzare lo spazio dei nomi .NET System.Security.Cryptography.X509Certificates per lavorare con entrambi. Vedi qui per maggiori informazioni.
SnapShot

6
L'estensione del nome per i file PKCS # 12 è ".p12" o ".pfx". Il "PFX" di Microsoft ha ricevuto pesanti critiche per essere uno dei protocolli crittografici più complessi. PKCS # 12 è il successore di "PFX" di Microsoft. PKCS # 12 fa parte della famiglia di standard denominati Public-Key Cryptography Standards (PKCS) pubblicati da RSA Laboratories.
AKS

1
rinominare non funziona sempre perché. ad esempio, se si utilizza SoapUI e si verifica un'autenticazione a 2 vie, non riesce. p12 e pfx hanno una storia che risale a Netscape e IE. sono QUASI gli stessi file ma non identici. quindi alcune app possono capire entrambi indipendentemente dall'estensione e altre necessitano di un p12 valido compatibile al 100% come SoapUI
M.Hefny

10

Ho avuto problemi con un file .pfx con openconnect. La ridenominazione non ha risolto il problema. Ho usato keytool per convertirlo in .p12 e ha funzionato.

keytool -importkeystore -destkeystore new.p12 -deststoretype pkcs12 -srckeystore original.pfx

Nel mio caso la password per il nuovo file (new.p12) doveva essere la stessa della password per il file .pfx.


2
Non ha funzionato, anche se ho utilizzato la stessa password per entrambi. ricevuto errore "errore keytool: java.io.IOException: formato keystore non valido"
John Smith

5

Se stai cercando un processo rapido e manuale con UI. Uso sempre Mozilla Firefox per convertire da PFX a P12. Per prima cosa importa il certificato nel browser Firefox (Opzioni> Privacy e sicurezza> Visualizza certificati ...> Importa ...). Una volta installato, eseguire l'esportazione per creare il file P12 scegliendo il nome del certificato da Gestione certificati e quindi fare clic su Backup ... e inserire il nome del file e quindi inserire la password.


4

Questa è più una continuazione della risposta di jglouie.

Se stai utilizzando openssl per convertire il certificato PKCS # 12 in chiavi PEM pubbliche / private, non è necessario rinominare il file. Supponendo che il file si chiami cert.pfx, i seguenti tre comandi creeranno una chiave pem pubblica e una chiave pem privata crittografata:

openssl pkcs12 -in cert.pfx     -out cert.pem     -nodes -nokeys
openssl pkcs12 -in cert.pfx     -out cert_key.pem -nodes -nocerts
openssl rsa    -in cert_key.pem -out cert_key.pem -des3

I primi due comandi potrebbero richiedere una password di importazione. Questa sarà una password fornita con il file PKCS # 12.

Il terzo comando ti consentirà di specificare la passphrase di crittografia per il certificato. Questo è ciò che inserirai quando utilizzi il certificato.


Il primo comando sovrascrive il secondo, quindi forse basta fare i passaggi 2 e 3. Cordiali saluti per i lettori, Des3 è la crittografia predefinita per la chiave privata.
goodguys_activate

1

Esegui questo comando per modificare il .certfile in .p12:

openssl pkcs12 -export -out server.p12 -inkey server.key -in server.crt 

Dove si server.keytrova la chiave del server ed server.certè un certificato di emissione di CA o un file di certificato di firma automatica.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.