2010-02-18 13 views
152

Qual è la differenza tra un file cer, pvk e pfx? Inoltre, quali file conservo e quali sono atteso per dare alle mie controparti?Qual è la differenza tra un file cer, pvk e pfx?

+0

Anche [\ [1 \]] (http://security.stackexchange.com/q/29425/2379), [\ [2 \]] (http://stackoverflow.com/q/2292495/632951), [\ [3 \]] (http://stackoverflow.com/q/22788384/632951) – Pacerier

risposta

105

Windows utilizza 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à entrambi. 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 dell'autorità di root 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 esiste) Windows segue per questi. Speriamo che siano chiavi codificate PKCS # 8. Emmanuel Bourg segnala che si tratta di un formato proprietario. Alcuni documentation sono disponibili.

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

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

+4

I file PVK non sono in PKCS # 8, è un formato proprietario. Vedi http://www.drh-consultancy.demon.co.uk/pvk.html –

+0

@EmmanuelBourg Grazie per le informazioni! Aggiornerò la mia risposta – erickson

+0

cerca l'utilità pvk2pfx.exe negli SDK di Windows – BozoJoe

15

Io in realtà sono imbattuto in una cosa del genere non troppo tempo fa ... check it out over on msdn (si veda la prima risposta)

in sintesi:

cer - certificato memorizzato 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 memorizzare chiavi private per la firma del codice. È inoltre possibile creare un certificato basato sul file di chiave privata .pvk.

.pfx - indica il formato di scambio personale. È usato per scambiare oggetti pubblici e privati ​​in un singolo file. Un file pfx può essere creato dal file .cer. Può anche essere utilizzato per creare un Software Publisher Certificate.

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

+2

Si consiglia di quotare o riepilogare il contenuto collegato oltre al collegamento stesso. In questo modo, entrambi danno il giusto credito e ci proteggono dal perdere le informazioni la prossima volta che MS ridisegna il loro sito. –

+0

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

+12

Inoltre, alcune informazioni nel link sono errate. Ad esempio, non è possibile estrarre una chiave privata da un certificato. Ovviamente. – erickson

34

Nella piattaforma Windows, questi tipi di file vengono utilizzati per le informazioni sul certificato. Normalmente utilizzato per il certificato SSL e Public Key Infrastructure (X.509).

  • file CER: file di CER viene utilizzato per il certificato X.509 negozio. 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 formato binario (ASN.1 DER) o codificato con Base-64 con l'intestazione e il piè di pagina inclusi (PEM), Windows riconoscerà uno di questi layout.
  • File PVK: Stand 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 Formato di scambio personale, è un file PKCS12. Questo contiene una varietà di informazioni crittografiche, come certificati, certificati dell'autorità di root, catene di certificati e chiavi private. È protetto crittograficamente con password per mantenere private le chiavi private e preservare l'integrità dei certificati radice. Il file PFX viene anche utilizzato in vari prodotti Microsoft, come IIS.

per ulteriori informazioni visitare: Certificate Files: .Cer x .Pvk x .Pfx

+3

File Cer: .... "il file contiene informazioni sul proprietario del certificato e le chiavi del certificato pubbliche e private" ... non è corretto. Come ha sottolineato Erickson nella sua risposta: contiene solo informazioni sulla chiave pubblica. Un file .cer con chiavi private e pubbliche sarebbe inutile. –

+0

Questo è sbagliato. Il file .Cer non contiene alcuna chiave privata. Per favore migliora la tua risposta. – ANewGuyInTown

0

qui sono le mie personali, note di super-condensato, per quanto riguarda questo argomento riguarda me attualmente, per chiunque sia interessato:

  • Entrambi PKCS12 e PEM possono memorizzare intere catene di certificati: public keys, private keys e root (CA) certs.
  • .pfx == p12 == "PKCS12"
    • criptate
  • .pem == cer == .cert = = "PEM"
    • base-64 (stringa) codificato X509 cert (binario) con un'intestazione e piè
      • base-64 è fondamentalmente solo una stringa di "A-Za-z0-9 + /" utilizzato per rappresentare 0-63, 6 bit di binario alla volta, in sequenza, a volte con 1 o 2 caratteri "=" alla fine quando ci sono gli avanzi ("=" è caratteri "filler/junk/ignore/throw away")
      • l'intestazione e il piè di pagina è qualcosa come "----- INIZIO CERTIFICATO -----" e "----- END CERTIFICATE -----" o "----- INIZIA IL CODICE PRIVATO CRIPTATO -----" e "----- FINE CHIAVE PRIVATO CRIPTATO -----"
    • Windows riconosce cer e .cert i file come cert
  • .jks == "Java Key Store"
    • solo un formato di file Java specifico che l'API utilizza
        I file
      • .p12 e .pfx possono anche essere utilizzati con l'API JKS
  • "Truststore" contenere pubblico, di fiducia, root (CA) certs, mentre "Identità/Archivi chiavi" contenere, certs identità privata; file-wise, tuttavia, sono gli stessi.