Esporta certificati e chiave privata da un file PKCS # 12 con OpenSSL

Nota: Questo articolo non si applica ai certificati di firma del codice e di firma dei documenti di SSL.com. Le chiavi private di questi tipi di certificati non possono essere esportate e non possono essere generate come file .pfx. I certificati di firma del codice e di firma dei documenti di SSL.com e le relative chiavi private possono essere generati e archiviati solo nel file Ambiente di firma cloud eSigner, un Yubikey dispositivo o un dispositivo supportato HSM cloud.

Questa guida ti guiderà attraverso l'estrazione di informazioni da un file PKCS # 12 con OpenSSL. PKCS # 12 (noto anche come PKCS12 o PFX) è un formato binario per l'archiviazione di una catena di certificati e di una chiave privata in un singolo file crittografabile. I file PKCS # 12 sono comunemente usati per importare ed esportare certificati e chiavi private su computer Windows e macOS e di solito hanno le estensioni dei nomi .p12 or .pfx.

Per istruzioni più utili e le ultime notizie sulla sicurezza informatica, iscriviti alla newsletter di SSL.com qui:

Cos'è OpenSSL?
OpenSSL è un toolkit da riga di comando open source molto utile con cui lavorare X.509 certificati, richieste di firma certificati (CSRs) e chiavi crittografiche. Se stai utilizzando una variante UNIX come Linux o macOS, OpenSSL è probabilmente già installato sul tuo computer. Se desideri utilizzare OpenSSL su Windows, puoi abilitare Sottosistema Linux di Windows 10 o installare Cygwin. Puoi anche facilmente creare un file PKCS#12 con openSSL.

SSL.com fornisce un'ampia varietà di file SSL /TLS certificati del server per i siti Web HTTPS.

CONFRONTA SSL /TLS CERTIFICATI

Video

https://www.youtube.com/watch?v=S_imVMFOdhU

In tutti gli esempi mostrati di seguito, sostituisci i nomi dei file con cui stai effettivamente lavorando INFILE.p12, OUTFILE.crte OUTFILE.key.

Visualizza le informazioni di PKCS # 12 sullo schermo

Per scaricare tutte le informazioni in un file PKCS # 12 sullo schermo in Formato PEM, usa questo comando:

openssl pkcs12 -info -in INFILE.p12 -nodes

Ti verrà quindi richiesta la password del file PKCS # 12:

Immettere la password di importazione:

Digitare la password inserita durante la creazione del file PKCS # 12 e premere enter. OpenSSL visualizzerà sullo schermo tutti i certificati e le chiavi private nel file:

Attributi borsa localKeyID: AC 3E 77 9A 99 62 84 3D 77 CB 44 0D F9 78 57 7C 08 28 05 97 subject = / CN = Aaron Russell/emailAddress=*********@gmail.com issuer = / C = US / ST = Texas / L = Houston / O = SSL Corp / CN = SSL.com client certificato intermedio CA RSA R1 ----- BEGIN CERTIFICATE ----- MIIF1DCCA7ygAwIBAgIQcOrAJCMayJsZBKJsyz / aQDANBgkqhkiG9w0BAQsFADB + MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0b24x ETAPBgNVBAoMCFNTTCBDb3JwMTowOAYDVQQDDDFTU0wuY29tIENsaWVudCBDZXJ0 ... bwK6ABAZUq6QcvhD0LYsXya + ncDCR6wxb9E0DWd4ATQMzxGTu / yE3kT + 9Ef6IY + n armh3HZUfan2Hb64YD0tjLMca / PC + sKAZu28gB / 3HQRHIFugvh6RO3bIoorl0jUg 1Ml2Hr83 PRIVATO ----- 0Ml6HrXNUMX ----

Crittografa chiave privata

Se desideri crittografare la chiave privata e proteggerla con una password prima dell'output, ometti semplicemente il -nodes flag dal comando:

openssl pkcs12 -info -in INFILE.p12

In questo caso, ti verrà chiesto di inserire e verificare una nuova password dopo che OpenSSL ha emesso i certificati e la chiave privata verrà crittografata (nota che il testo della chiave inizia con -----BEGIN ENCRYPTED PRIVATE KEY-----):

Inserisci PEM passaggio frase: Verifica - Inserire PEM passaggio frase: ----- BEGIN criptati CHIAVE PRIVATA ----- MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIGwhJIMXRiLQCAggA MBQGCCqGSIb3DQMHBAiXdeymTYuedgSCBMjwGg78PsqiNJLfpDFbMxL98u3tK9Cs ... SGVCCBj5vBpSbBXAGbOv74h4satKmAMgGc8SgU06geS9gFgt / wLwehMJ / H4BSmex 4S / 2tYzZrDBJkfH9JpggubYRTgwfAGY2BkX03dK2sqfu + QVTVTKMj2VI0sKcFfLZ BDW = ----- END ENCRYPTED CHIAVE PRIVATA -----

Estrai solo certificati o chiave privata

Se si desidera solo generare la chiave privata, aggiungere -nocerts al comando:

openssl pkcs12 -info -in INFILE.p12 -nodes -nocerts

Se hai solo bisogno dei certificati, usa -nokeys (e poiché non siamo interessati alla chiave privata, possiamo tranquillamente omettere -nodes):

openssl pkcs12 -info -in INFILE.p12 -nokeys

Salva certificati e chiavi private in file

È possibile esportare i certificati e la chiave privata da un file PKCS # 12 e salvarli in formato PEM in un nuovo file specificando un nome file di output:

openssl pkcs12 -in INFILE.p12 -out OUTFILE.crt -nodes

Ancora una volta, ti verrà richiesta la password del file PKCS # 12. Come prima, puoi crittografare la chiave privata rimuovendo il file -nodes flag dal comando e / o aggiungi -nocerts or -nokeys per generare solo la chiave privata o i certificati. Quindi, per generare un file di chiave privata, possiamo usare questo comando:

openssl pkcs12 -in INFILE.p12 -out OUTFILE.key -nodes -nocerts

E per creare un file contenente solo i certificati, utilizzare questo:

openssl pkcs12 -in INFILE.p12 -out OUTFILE.crt -nokeys

Converti chiave privata in formato PKCS # 1

Gli esempi sopra tutti restituiscono la chiave privata nel valore predefinito di OpenSSL PKCS # 8 formato. Se sai di aver bisogno PKCS # 1 invece, è possibile reindirizzare l'output dell'utilità PKCS # 12 di OpenSSL all'utilità RSA o EC a seconda del tipo di chiave. Entrambi i comandi seguenti produrranno un file chiave in formato PKCS # 1:

RSA

openssl pkcs12 -in INFILE.p12 -nodes -nocerts | openssl rsa -out OUTFILE.chiave

ECDSA

openssl pkcs12 -in INFILE.p12 -nodes -nocerts | openssl ec -out OUTFILE.chiave

Nota: Puoi distinguere tra i file di chiave privata PKCS # 8 e PKCS # 1 guardando la prima riga di testo. I file PKCS # 1 specificheranno l'algoritmo:
-----BEGIN RSA PRIVATE KEY-----

I file PKCS # 8 non mostrano l'algoritmo e possono anche essere crittografati:
-----BEGIN PRIVATE KEY-----
or
-----BEGIN ENCRYPTED PRIVATE KEY-----


Grazie per aver scelto SSL.com! In caso di domande, contattaci tramite e-mail all'indirizzo Support@SSL.com, chiama 1-877-SSL-SECUREo fai semplicemente clic sul link della chat in basso a destra in questa pagina.

Iscriviti alla newsletter di SSL.com

Non perdere nuovi articoli e aggiornamenti da SSL.com

Rimani informato e sicuro

SSL.com è un leader globale nella sicurezza informatica, PKI e certificati digitali. Iscriviti per ricevere le ultime notizie del settore, suggerimenti e annunci di prodotti da SSL.com.

Ci piacerebbe il tuo feedback

Partecipa al nostro sondaggio e facci sapere cosa ne pensi del tuo recente acquisto.