web-dev-qa-db-fra.com

Quelle est la différence entre un fichier cer, pvk et pfx?

Quelle est la différence entre un fichier cer, pvk et pfx? En outre, quels fichiers dois-je conserver et quels documents dois-je remettre à mes contreparties?

180
Jonathan Allen

Windows utilise l'extension .cer pour un certificat X.509. Ceux-ci peuvent être en "binaire" (ASN.1 DER), ou être codés en Base 64 et avoir un en-tête et un pied de page appliqués (PEM); Windows reconnaîtra l'un ou l'autre. Pour vérifier l'intégrité d'un certificat, vous devez vérifier sa signature à l'aide de la clé publique de l'émetteur ... qui est, à son tour, un autre certificat.

Windows utilise .pfx pour un fichier PKCS # 12. Ce fichier peut contenir diverses informations cryptographiques, notamment des certificats, des chaînes de certificats, des certificats d'autorité racine et des clés privées. Son contenu peut être protégé par cryptographie (avec des mots de passe) pour conserver les clés privées et préserver l'intégrité des certificats racine.

Windows utilise .pvk pour un fichier de clé privée. Je ne sais pas quelle norme (le cas échéant) suit Windows pour ces applications. Espérons que ce sont des clés codées PKCS # 8. Emmanuel Bourg indique qu'il s'agit d'un format propriétaire. Certains documentation est disponible.

Vous ne devriez jamais divulguer votre clé privée. Ceux-ci sont contenus dans les fichiers .pfx et .pvk.

En règle générale, vous n’échangez que votre certificat (.cer) et les certificats des émetteurs intermédiaires (c'est-à-dire les certificats de toutes vos autorités de certification, à l'exception de l'autorité de certification racine) avec d'autres parties.

126
erickson

Sous Windows, ces types de fichiers sont utilisés pour les informations de certificat. Normalement utilisé pour le certificat SSL et l'infrastructure à clé publique (X.509).

  • Fichiers CER: Le fichier CER est utilisé pour stocker le certificat X.509. Normalement utilisé pour la certification SSL pour vérifier et identifier la sécurité des serveurs Web. Le fichier contient des informations sur le propriétaire du certificat et la clé publique. Un fichier CER peut être au format binaire (ASN.1 DER) ou codé avec Base-64 avec en-tête et pied de page inclus (PEM). Windows reconnaîtra alors l'une ou l'autre de ces dispositions.
  • Fichiers PVK: correspond à une clé privée. Windows utilise des fichiers PVK pour stocker des clés privées pour la signature de code dans divers produits Microsoft. PVK est un format propriétaire.
  • Fichiers PFX Le format d’échange personnel est un fichier PKCS12. Il contient diverses informations cryptographiques, telles que des certificats, des certificats d’autorité racine, des chaînes de certificats et des clés privées. C’est protégé par cryptographie avec des mots de passe pour garder les clés privées confidentielles et préserver l’intégrité des certificats racine. Le fichier PFX est également utilisé dans divers produits Microsoft, tels que IIS.

pour plus d'informations, visitez: Fichiers de certificat: .Cer x .Pvk x .Pfx

50
rahul_pratap

Voici mes notes personnelles, super condensées, pour autant que ce sujet me concerne actuellement, pour tous ceux qui sont intéressés:

  • Les deux PKCS12 et PEM peut stocker des chaînes de certificats entières: clés publiques, clés privées , et certificats de racine (CA) .
  • . pfx == . p12 == "PKCS12 "
    • entièrement crypté
  • . pem == . cer == . cert == "PEM"
    • base-64 (chaîne) codé X509 cert (binaire) avec un en-tête et un pied de page
      • base-64 est fondamentalement juste une chaîne de caractères "A-Za-z0-9 + /" utilisée pour représenter 0-63, 6 bits de binaire à la fois, dans l'ordre, parfois avec 1 ou 2 "=" caractères à la fin quand il y a des restes ("=" étant "caractères de remplissage/junk/ignore/jeter")
      • l'en-tête et le pied de page sont quelque chose comme "----- BEGIN CERTIFICATE -----" et "----- END CERTIFICATE -----" ou "----- BEGIN ENCRYPTED PRIVATE KEY --- - "et" ----- FIN DE LA CLE PRIVEE CRYPTE ----- "
    • Windows reconnaît les fichiers .cer et .cert en tant que fichiers cert.
  • . jks == "Magasin de clés Java "
    • juste un format de fichier spécifique à Java utilisé par l'API
      • Les fichiers .p12 et .pfx peuvent également être utilisés avec l'API JKS
  • " Les magasins de confiance " contiennent des publicités, des personnes de confiance, certificats racine , alors que " Les magasins d’identité/clé "contiennent des certificats d’identité privés; fichier, cependant, ils sont les mêmes.
20
Andrew

En fait, je suis tombé sur quelque chose comme ça il n'y a pas si longtemps ... regardez-le sur msdn (voir la première réponse)

en résumé:

.cer - certificat stocké au format standard X.509. Ce certificat contient des informations sur le propriétaire du certificat ... ainsi que des clés publiques et privées.

Les fichiers .pvk sont utilisés pour stocker les clés privées pour la signature de code. Vous pouvez également créer un certificat basé sur le fichier de clé privée .pvk.

.pfx - représente le format d'échange personnel. Il est utilisé pour échanger des objets publics et privés dans un seul fichier. Un fichier pfx peut être créé à partir du fichier .cer. Peut également être utilisé pour créer un certificat d'éditeur de logiciel .

J'ai résumé les informations de la page sur la base de la suggestion des commentaires.

19
Ryan Ferretti