Qual è la differenza tra un file cer, pvk e pfx?


Risposte:


143

Windows utilizza l'estensione .cer per un certificato X.509. Questi possono essere in "binario" (ASN.1 DER), oppure possono essere codificati con Base-64 e avere un'intestazione e un piè di pagina applicati (PEM); Windows riconoscerà neanche. Per verificare l'integrità di un certificato, è necessario verificarne la firma utilizzando la chiave pubblica dell'emittente ... che è, a sua volta, un altro certificato.

Windows utilizza .pfx per un file PKCS # 12. Questo file può contenere una varietà di informazioni crittografiche, inclusi certificati, catene di certificati, certificati di autorità radice e chiavi private. Il suo contenuto può essere protetto crittograficamente (con password) per mantenere private le chiavi private e preservare l'integrità dei certificati di root.

Windows utilizza .pvk per un file di chiave privata. Non sono sicuro di quale standard (se presente) segue Windows per questi. Speriamo che siano le chiavi codificate PKCS # 8. Emmanuel Bourg riferisce che si tratta di un formato proprietario. Alcuni la documentazione è disponibile.

Non devi mai rivelare la tua chiave privata. Questi sono contenuti nei file .pfx e .pvk.

In genere, si scambiano il proprio certificato (.cer) e i certificati di tutti gli emittenti intermedi (vale a dire, i certificati di tutte le proprie CA, ad eccezione della CA principale) con altre parti.


7
I file PVK non sono nel PKCS # 8, è un formato proprietario. Vedi drh-consultancy.demon.co.uk/pvk.html
Emmanuel Bourg

cercare l'utilità pvk2pfx.exe negli SDK di Windows
BozoJoe,

@erickson, che senso ha inventare .pvk? .Pfx non è sufficiente?
Pacerier,

@Pacerier Sì, .pfx è sufficiente. Non sono sicuro di quale fosse il punto di .pvk; Posso solo supporre che sia stato inventato nell'ignoranza.
Erickson,

55

Nella piattaforma Windows, questi tipi di file vengono utilizzati per le informazioni sul certificato. Normalmente utilizzato per certificato SSL e infrastruttura a chiave pubblica (X.509).

  • File CER: il file CER viene utilizzato per archiviare il certificato X.509. Normalmente utilizzato per la certificazione SSL per verificare e identificare la sicurezza dei server Web. Il file contiene informazioni sul proprietario del certificato e la chiave pubblica. Un file CER può essere in binario (ASN.1 DER) o codificato con Base-64 con intestazione e piè di pagina inclusi (PEM), Windows riconoscerà uno di questi layout.
  • File PVK: sta per chiave privata. Windows utilizza i file PVK per archiviare le chiavi private per la firma del codice in vari prodotti Microsoft. PVK è un formato proprietario.
  • File PFX Personal Exchange Format, è un file PKCS12. Questo contiene una varietà di informazioni crittografiche, come certificati, certificati di autorità radice, catene di certificati e chiavi private. È protetto crittograficamente con password per mantenere private le chiavi private e preservare l'integrità dei certificati di root. Il file PFX viene utilizzato anche in vari prodotti Microsoft, come IIS.

per ulteriori informazioni visitare: File di certificato: .Cer x .Pvk x .Pfx


4
Cer file: .... "il file contiene informazioni sul proprietario del certificato e chiavi di certificato pubbliche e private" ... non è corretto. Come ha sottolineato Erickson nella sua risposta: contiene solo informazioni sulla chiave pubblica. Un file .cer con chiavi sia private che pubbliche sarebbe inutile.
thor_hayek,

1
Questo è sbagliato. Il file .Cer non contiene chiavi private. Per favore, migliora la tua risposta.
ANewGuyInTown

36

Ecco le mie note personali, super condensate, per quanto riguarda questo argomento per me attualmente, per chiunque sia interessato:

  • Sia PKCS12 che PEM possono memorizzare intere catene di certificati: chiavi pubbliche, chiavi private e certificati root (CA) .
  • .pfx == .p12 == " PKCS12 "
    • completamente crittografato
  • .pem == .cer == .cert == " PEM "
    • base-64 (stringa) codificato X509 cert (binario) con intestazione e piè di pagina
      • base-64 è fondamentalmente solo una stringa di "A-Za-z0-9 + /" usata per rappresentare 0-63, 6 bit di binario alla volta, in sequenza, a volte con 1 o 2 caratteri "=" proprio termina quando sono presenti degli avanzi (caratteri "=" essendo "riempimento / spazzatura / ignora / butta via")
      • l'intestazione e il piè di pagina sono simili a "----- INIZIA CERTIFICATO -----" e "----- FINE CERTIFICATO -----" o "----- INIZIA TASTO PRIVATO ISCRITTO --- - "and" ----- TASTO PRINCIPALE ENCRYPTED END ----- "
    • Windows riconosce .cer e .cert come file cert
  • .jks == " Java Key Store "
    • solo un formato di file specifico di Java utilizzato dall'API
      • I file .p12 e .pfx possono essere utilizzati anche con l'API JKS
  • I " negozi fiduciari " contengono certificati pubblici, attendibili, root (CA) , mentre i " negozi chiave di identità / chiave " contengono certificati privati ​​di identità; per quanto riguarda i file, tuttavia, sono uguali.

Quindi, dove è definito .pvk?
zwcloud,

@zwcloud Ho dato quello che sapevo in quel momento. Le altre risposte lo danno.
Andrew,

18

In realtà mi sono imbattuto in qualcosa del genere non molto tempo fa ... controlla su msdn (vedi la prima risposta)

In sintesi:

.cer - certificato archiviato nel formato standard X.509. Questo certificato contiene informazioni sul proprietario del certificato ... insieme a chiavi pubbliche e private.

.pvk: i file vengono utilizzati per archiviare le chiavi private per la firma del codice. È inoltre possibile creare un certificato basato sul file della chiave privata .pvk.

.pfx - sta per formato di scambio personale. Viene utilizzato per scambiare oggetti pubblici e privati ​​in un singolo file. È possibile creare un file pfx dal file .cer. Può anche essere utilizzato per creare un certificato di Software Publisher .

Ho riassunto le informazioni dalla pagina in base al suggerimento dei commenti.


2
Consiglierei di citare o riassumere il contenuto collegato in aggiunta al collegamento stesso. In questo modo entrambi dai il giusto credito e ci proteggiamo dalla perdita delle informazioni la prossima volta che MS ridisegnerà il loro sito.
Jonathan Allen,

Ho visto quel link, ma non risponde completamente alla domanda.
Jonathan Allen,

15
Inoltre, alcune delle informazioni nel collegamento sono errate. Ad esempio, non è possibile estrarre una chiave privata da un certificato. Ovviamente.
Erickson,

Al commento sopra, non si tratta di estrazione. Non ha senso avere chiavi private nei file .cer. Un file .cer dovrebbe essere condiviso con un mondo esterno, quindi contiene solo chiave pubblica.
Rajiv,
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.