Convertire un certificato CERT / PEM in un certificato PFX


185

Ho visto un paio di domande su come convertire un PFX in un file cert, ma devo andare dall'altra parte.

Ho due file:

bob_cert.cert

bob_key.pem

Vorrei convertirli in un singolo file .pfx. C'è uno strumento che fa questo?


16
serverfault.com/a/9717/3202 è una grande spiegazione sui formati di file cert, solo per favore
Rory

Risposte:


350
openssl pkcs12 -inkey bob_key.pem -in bob_cert.cert -export -out bob_pfx.pfx

7
Come posso ottenere la stessa cosa a livello di codice in C #?
pankajt,

2
Potresti indicarmi la direzione di questi esempi? Non riesco a trovare nulla.
Nick,

10
La versione Windows di OpenSSL è disponibile su slproweb.com/products/Win32OpenSSL.html . L'ho appena provato e ha funzionato correttamente per questo scopo.
BrianFinkel,

2
Grande elenco di comandi OpenSSL comuni su sslshopper.com/article-most-common-openssl-commands.html
Rory

4
Un paio di aggiunte: -name "friendly name"imposta il nome (che apparirebbe nell'elenco dei certificati in Windows, per esempio), e -certfile cacert.pempuò essere usato per aggiungere i certificati CA e produrre il .pfxfile con l'intera catena.
pvgoran,

22

Ecco come farlo su Windows senza strumenti di terze parti:

  1. Importa certificato nell'archivio certificati. In Esplora risorse selezionare "Installa certificato" nel menu di scelta rapida. inserisci qui la descrizione dell'immagine Seguire la procedura guidata e accettare le opzioni predefinite "Utente locale" e "Automaticamente".

  2. Trova il tuo certificato nell'archivio certificati. Su Windows 10 esegui il MMC "Gestisci certificati utente". Su Windows 2013 MMC è chiamato "Certificati". Su Windows 10 per impostazione predefinita, il certificato deve trovarsi nel nodo "Personale" -> "Certificati".

  3. Certificato di esportazione. Nel menu contestuale selezionare il menu "Esporta ...": inserisci qui la descrizione dell'immagine

    Seleziona "Sì, esporta la chiave privata": inserisci qui la descrizione dell'immagine

    Vedrai che l'opzione .PFX è abilitata in questo caso: inserisci qui la descrizione dell'immagine

    Specifica la password per la chiave privata.


11
Nel passaggio 2, il mio certificato non è "Personale" -> "Certificati". Appare in "Altre persone" -> "Certificati" e, durante l'esportazione, lo "Scambio di informazioni personali (PFX)" appare disabilitato. Sai come abilitarlo?
Gabrielizalo,

Ho risolto con il convertitore di certificati portatile di DigiCert: digicert.com/util/…
Gabrielizalo,

13
non è possibile importare un PEM.
Ross Presser,

1
È necessario rinominare .pem in .cer prima che Windows riconosca il file come file certificato / chiave privata. Entrambe le estensioni di file possono contenere cert (s) e / o key (s) in formato binario con testo in chiaro ASCII o codificato Base64 / DER, ma è possibile utilizzare i file cer con utility integrate di Windows.
Mastacheata,

9
La domanda di OP era come importarla quando la chiave privata non è inclusa nel file del certificato ma hai due file: un crt e un pem (pem contenente la chiave privata). Questa risposta non funziona in quel caso.
masi,

16

Ho creato il file .pfx dai file .key e .pem.

Come questo openssl pkcs12 -inkey rootCA.key -in rootCA.pem -export -out rootCA.pfx

Questa non è la risposta diretta, ma forse aiuta ancora qualcun altro.


5

Se hai un certificato autofirmato generato da makecert.exesu un computer Windows, otterrai due file: cert.pvke cert.cer. Questi possono essere convertiti in un pfx usandopvk2pfx

pvk2pfxsi trova nella stessa posizione di makecert(ad es. C:\Program Files (x86)\Windows Kits\10\bin\x86o simile)

pvk2pfx -pvk cert.pvk -spc cert.cer -pfx cert.pfx
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.