2010-02-18 15 views
152

Jaka jest różnica między plikiem cer, pvk i pfx? Ponadto, które pliki mam zachować i które mam zamiar przekazać moim firmom zewnętrznym?Jaka jest różnica między plikiem cer, pvk i pfx?

+0

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

Odpowiedz

105

System Windows używa rozszerzenia .cer dla certyfikatu X.509. Mogą one być "binarne" (ASN.1 DER) lub mogą być kodowane za pomocą Base-64 i mają zastosowany nagłówek i stopkę (PEM); Windows rozpoznaje albo. Aby zweryfikować integralność certyfikatu, należy sprawdzić jego podpis przy użyciu klucza publicznego wystawcy ... który z kolei jest kolejnym certyfikatem.

System Windows używa pliku .pfx dla pliku PKCS # 12. Ten plik może zawierać różne informacje kryptograficzne, w tym certyfikaty, łańcuchy certyfikatów, certyfikaty uprawnień głównych i klucze prywatne. Jego zawartość może być chroniona kryptograficznie (za pomocą haseł), aby klucze prywatne pozostały prywatne i zachowały integralność certyfikatów głównych.

Windows używa .pvk do pliku klucza prywatnego. Nie jestem pewien, jakie standardowe (jeśli jakiekolwiek) Windows podąża za nimi. Mamy nadzieję, że są to klawisze kodowane w PKCS # 8. Emmanuel Bourg zgłasza, że ​​są to zastrzeżone formaty. Dostępne jest pewne documentation.

Nigdy nie należy ujawniać swojego klucza prywatnego. Są one zawarte w plikach .pfx i .pvk.

Generalnie wymieniasz tylko certyfikat (.cer) i certyfikaty wszelkich pośrednich wystawców (tj. Certyfikaty wszystkich swoich urzędów certyfikacji, z wyjątkiem głównego urzędu certyfikacji) z innymi podmiotami.

+4

Pliki PVK nie znajdują się w PKCS # 8, to zastrzeżony format. Zobacz http://www.drh-consultancy.demon.co.uk/pvk.html –

+0

@EmmanuelBourg Dzięki za informacje! Zaktualizuję moją odpowiedź. – erickson

+0

Poszukaj narzędzia pvk2pfx.exe w zestawie SDK systemu Windows – BozoJoe

15

I rzeczywiście przyszedł na coś takiego nie tak dawno temu ... check it out over on msdn (patrz pierwsza odpowiedź)

w skrócie:

.cer - certyfikat X.509 zapisane w standardowym formacie . Ten certyfikat zawiera informacje o właścicielu certyfikatu ... oraz klucze publiczne i prywatne.

.pvk - pliki służą do przechowywania kluczy prywatnych do podpisywania kodu. Można również utworzyć certyfikat na podstawie pliku klucza prywatnego .pvk.

.pfx - oznacza osobisty format wymiany. Służy do wymiany publicznych i prywatnych obiektów w jednym pliku. Plik pfx można utworzyć z pliku .cer. Może również służyć do tworzenia Software Publisher Certificate.

Podsumowałem informacje ze strony na podstawie sugestii z komentarzy.

+2

Polecam cytowanie lub podsumowywanie połączonej treści oprócz samego linku. W ten sposób obaj uzyskacie odpowiednią ocenę i ochronią nas przed utratą informacji, gdy MS ponownie zaprojektuje swoją witrynę. –

+0

Widziałem ten link, ale nie w pełni odpowiada na pytanie. –

+12

Niektóre informacje w linku są nieprawidłowe. Na przykład nie można wyodrębnić klucza prywatnego z certyfikatu. Oczywiście. – erickson

34

W przypadku platformy Windows te typy plików służą do uzyskiwania informacji o certyfikatach. Zwykle używany do certyfikatu SSL i infrastruktury klucza publicznego (X.509).

  • plików CER: plik CER służy do certyfikatu X.509 sklepu. Zwykle używany do certyfikacji SSL w celu weryfikacji i identyfikacji bezpieczeństwa serwerów WWW. Plik zawiera informacje o właścicielu certyfikatu i kluczu publicznym. Plik CER może być binarny (ASN.1 DER) lub zakodowany w Base-64 z dołączonym nagłówkiem i stopką (PEM), Windows rozpozna jeden z tych układów.
  • Pliki PVK: Oznacza klucz prywatny. System Windows używa plików PVK do przechowywania kluczy prywatnych do podpisywania kodu w różnych produktach Microsoft. PVK jest prawnie zastrzeżonym formatem.
  • Pliki PFX Format wymiany osobistej to plik PKCS12. Zawiera on wiele informacji kryptograficznych, takich jak certyfikaty, certyfikaty uprawnień głównych, łańcuchy certyfikatów i klucze prywatne. Jest chroniona kryptograficznie za pomocą haseł, aby zachować prywatne klucze prywatne i zachować integralność certyfikatów głównych. Plik PFX jest również używany w różnych produktach Microsoft, takich jak IIS.

uzyskać więcej informacji na stronie: Certificate Files: .Cer x .Pvk x .Pfx

+3

Cer files: .... "plik zawiera informacje o właścicielu certyfikatu oraz publicznych i prywatnych kluczach certyfikatów" ... jest niepoprawny. Jak Erickson wskazał w swojej odpowiedzi: Zawiera tylko informacje o kluczu publicznym. Plik .cer z kluczami prywatnymi i publicznymi byłby bezużyteczny. –

+0

To jest złe. Plik .Cer nie zawiera żadnych kluczy prywatnych. Proszę poprawić swoją odpowiedź. – ANewGuyInTown

0

Oto moje osobiste, Super-skondensowane notatki, o ile przedmiot ten odnosi się do mnie obecnie, dla każdego, kto jest zainteresowany:

  • Zarówno PKCS12 i PEM może przechowywać całe łańcuchy certyfikatów: public keys, private keys i root (CA) certs.
  • pfx == .p12 == "PKCS12"
    • zaszyfrowanej
  • .pem == .cer == .cert = = "PEM"
    • base-64 (łańcuch) kodowanego X509 cert (podwójną) z główką i stopką
      • base-64 jest w zasadzie tylko ciąg "A-A-Z 0-9 + /", używane do reprezentowania 0-63 6 bitów binarnie na raz, w sekwencji, czasami z 1 lub 2 znakami "=" na samym końcu, gdy są resztki ("=" będące znakami "wypełniacz/śmieci/ignorowanie/wyrzucanie")
      • nagłówek i stopka jest coś takiego jak "----- BEGIN CERTIFICATE -----" i "----- END CERTIFICATE -----" lub "----- BEGIN SZYFROWANY PRYWATNY KEY -----" i "----- ZAKOŃCZONY KLAWISZ PRYWATNY -----"
    • Windows rozpoznaje cer i .cert pliki jako cert
  • .jks == "Java Key Store"
    • tylko Java specyficzny format, który wykorzystuje interfejs API
        Pliki
      • .p12 i .pfx można również używać z interfejsem API JKS
  • "ufają Stores" zawierać publicznego, zaufany, root (CA) certs, podczas gdy "osobistego/Magazyny kluczy" zawierać prywatne, certyfikatów tożsamości; file-wise, są jednak takie same.
Powiązane problemy