Converti .pfx in .cer


155

È possibile convertire un file .pfx (scambio di informazioni personali) in un file .cer (certificato di sicurezza)? A meno che non mi sbagli, un .cer non è in qualche modo incorporato in un .pfx? Vorrei un modo per estrarlo, se possibile.

Risposte:


90

il modo semplice in cui credo è importarlo e poi esportarlo, utilizzando il gestore certificati nella console di gestione di Windows.


5
ho provato a farlo ma quando seleziono la chiave privata di esportazione, sto disabilitando l'opzione .cer (codifica DER). e l'utilità midletsigner deve comunque provatekey ..
Jigar Joshi,

3
Devi selezionare la casella quando lo importi, che dice "contrassegna questa chiave come esportabile"
Andrew Cox,

11
Come raggiungere Gestione certificati in Windows: msdn.microsoft.com/en-us/library/ms788967.aspx
James White

12
Il modo più semplice per aprire Gestione certificati di Windows è digitare "certmgr.msc" al prompt dei comandi.
Jan Derk,

@AndrewCox, Tuttavia, c'è qualche differenza dietro le quinte tra contrassegnarlo come esportabile e non contrassegnarlo come tale. O è semplicemente un'opzione UI?
Pacerier,

212

I file PFX sono pacchetti standard di sintassi di scambio di informazioni personali PKCS # 12 . Possono includere un numero arbitrario di chiavi private con i certificati X.509 di accompagnamento e una catena di autorità di certificazione (impostare certificati).

Se si desidera estrarre i certificati client, è possibile utilizzare lo strumento PKCS12 di OpenSSL .

openssl pkcs12 -in input.pfx -out mycerts.crt -nokeys -clcerts

Il comando sopra emetterà certificati in formato PEM. L'estensione del file ".crt" è gestita sia da macOS che da Windows.

Menzionate l'estensione ".cer" nella domanda che è convenzionalmente usata per i file codificati DER. Una codifica binaria. Prova prima il file ".crt" e se non è accettato, è facile convertire da PEM a DER:

openssl x509 -inform pem -in mycerts.crt -outform der -out mycerts.cer

9
+1 per spiegare cos'è il file oltre a fornire i comandi.
Joshua Drake,

"Errore di verifica Mac: password non valida?" quando l'ho provato. Non conosco alcuna password, ho solo il file fornito dal mio fornitore.
Brian Knoblauch,

1
Sembra che il rilascio di "-nokeys" funzioni quando si tenta di convertire un certificato con le sue chiavi private, diciamo per l'uso con Fiddler
Gert van den Berg

@Berk, a parte OpenSSL, il cmd di Windows ha un modo per farlo?
Pacerier,

45

Se lavori in PowerShell puoi usare qualcosa di simile al seguente, dato un file pfx InputBundle.pfx , per produrre un file di certificato codificato DER (binario) OutputCert.der :

Get-PfxCertificate -FilePath InputBundle.pfx | 
Export-Certificate -FilePath OutputCert.der -Type CERT

Newline è stato aggiunto per maggiore chiarezza, ma ovviamente puoi avere tutto su un'unica riga.

Se è necessario il certificato in formato PEM con codifica ASCII / Base64, è possibile eseguire ulteriori passaggi, come documentato altrove, ad esempio qui: /superuser/351548/windows-integrated-utility-to-convert -der-to-PEM

Se è necessario esportare in un formato diverso da quello codificato DER, è possibile modificare il -Typeparametro per Export-Certificate per utilizzare i tipi supportati da .NET, come mostrato in help Export-Certificate -Detailed:

-Type <CertType>
    Specifies the type of output file for the certificate export as follows. 
     -- SST: A Microsoft serialized certificate store (.sst) file format which can contain one or more certificates. This is the default value for multiple certificates. 
     -- CERT: A .cer file format which contains a single DER-encoded certificate. This is the default value for one certificate. 
     -- P7B: A PKCS#7 file format which can contain one or more certificates.

Il certificato di esportazione è disponibile solo per alcune versioni come Win 8.1 e Server 2012 R2. Se sei in qualche altra versione come Win 7, allora niente fortuna!
Deep-B,

1
Dovrebbe essere presente in Server 2012 e Windows 8.0 ( technet.microsoft.com/en-us/library/hh848628(v=wps.620).aspx ), ma un buon punto su Windows 7 e simili!
Ian Gallagher,

@IanGallagher, come si confronta con l'opzione OpenSSL?
Pacerier,

Questo è molto più conveniente se non vuoi installare roba OpenSSL!
Leonardo Herrera,

25

Volevo aggiungere un metodo che penso fosse il più semplice di tutti.

  1. Basta fare clic con il pulsante destro del mouse sul file pfx, fare clic su "Installa", seguire la procedura guidata e aggiungerlo a un negozio (ho aggiunto al negozio personale).

  2. Nel menu Start digitare certmgr.msc e andare al programma CertManager.

  3. Trova il tuo certificato pfx (le schede in alto sono i vari negozi), fai clic sul pulsante Esporta e segui la procedura guidata (esiste un'opzione per esportare come .CER)

Sostanzialmente fa la stessa cosa della risposta di Andrew, ma evita di usare Windows Management Console (passa direttamente all'importazione / esportazione).


Non molto più veloce poiché dovresti ancora aprire certmgr.msc per esportarlo ....
Pacerier

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.