Quelle est la différence entre .pfx
et .cert
fichiers de certificat?
Distribuons-nous .pfx
ou .cert
pour lauthentification client?
Commentaires
- Aussi [ 1 ] , [ 2 ] , [ 3 ]
Réponse
Il y a deux objets: la clé privée , qui est ce que possède le serveur , garde le secret et utilise pour recevoir de nouvelles connexions SSL; et la clé publique qui est mathématiquement liée à la clé privée, et rendue « publique »: elle est envoyée à chaque client dans le cadre des étapes initiales de la connexion.
Le certificat est, en théorie, un conteneur pour la clé publique. Il comprend la clé publique, le nom du serveur, des informations supplémentaires sur le serveur et une signature calculée par une autorité de certification (CA). Lorsque le serveur envoie sa clé publique à un client, il envoie en fait son certificat, avec quelques autres certificats (le certificat qui contient la clé publique de lAC qui a signé son certificat, et le certificat de lAC qui a signé les CA) certificat, etc.). Les certificats sont des objets intrinsèquement publics.
Certaines personnes utilisent le terme « certificat » pour désigner à la fois le certificat et la clé privée; cest une source courante de confusion. Je men tiens personnellement à la définition stricte pour laquelle le certificat est le conteneur signé pour la clé publique uniquement.
Un fichier .pfx
est un Archive PKCS # 12 : un sac qui peut contenir de nombreux objets avec une protection par mot de passe facultative; mais, généralement, une archive PKCS # 12 contient un certificat (éventuellement avec son ensemble assorti de certificats CA) et la clé privée correspondante.
Dautre part, un .cert
(ou .cer
ou
) contient généralement un seul certificat, seul et sans emballage (pas de clé privée, pas de protection par mot de passe, juste le certificat).
Commentaires
- Lors de lauthentification client, nous exigeons que le certificat client ssl soit installé sur le navigateur client. Sagit-il dun fichier .pfx ou dun fichier .cert?
- Les certificats sont des données publiques; tout le monde en a. Mais lauthentification client consiste à demander au client de faire quelque chose que seul ce client peut faire; le client doit donc savoir quelque chose qui nest pas public et que ‘ est la clé privée. Ainsi, le client doit avoir une clé privée avec son certificat; si la clé a été générée à partir du navigateur client, la configuration attendue consiste à limporter dans le client avec le certificat. Par conséquent, un fichier .pfx.
- Jai un fichier .pfx du serveur IIS sur lequel mon certificat est installé. Est-ce le fichier .pfx qui doit être distribué? Puisque CA a fourni un fichier .cert comprenant des clés qui a été installé sur le serveur.
- @ Xsecure123 no; il y a ‘ deux scénarios ici – et Thomas répondait uniquement pour lauthentification du client (où chaque client a son propre certificat privé de ‘ pour prouver leur propre identité). – Il semble que vous ‘ faites autre chose – il semble que vous ‘ utilisez un certificat auto-signé dans IIS, et les clients ne lui font ‘ pas confiance. – Dans ce cas, vous devez donner aux clients un fichier .cer du serveur. – parce que les clients nont besoin que de la clé publique pour faire confiance au serveur. – Sils ont également la clé privée, ils peuvent se faire passer pour le serveur ou déchiffrer le trafic de ‘ et celui de ‘ pas quelque chose que vous voulez.
- @ BrainSlugs83: Quentendez-vous par cert privé. Thomas a mentionné que les certificats sont des données publiques. Pouvez-vous préciser?
Réponse
Je sais que cest un fil de discussion vieux dun an, mais pour les futurs lecteurs , comme mentionné ci-dessus, non, vous ne distribuez pas le fichier .pfx car cest le fichier contenant la clé privée. Vous pouvez extraire et distribuer le certificat (qui est public) du fichier .pfx via la méthode décrite ici: https://stackoverflow.com/questions/403174/convert-pfx-to-cer
Commentaires
- Où devez-vous stocker le fichier pfx en toute sécurité sur le serveur? De toute évidence, vous ‘ ne voudriez pas une autre application utilisant votre fichier PFX, mais je ne ‘ ne pense pas que je ‘ je veux le stocker avec mon application non plus.Voulez-vous simplement limporter dans le gestionnaire de certificats de machine et y accéder par programme?
- La gestion des clés privées @Matt est un sujet en soi. Certaines réponses pertinentes peuvent être trouvées ici et ici (cette dernière ‘ nest pas strictement pertinent pour les fichiers PFX, mais toujours nouveau). Le fichier PFX lui-même na ‘ pas besoin dêtre stocké sur votre serveur (cest-à-dire si vous ‘ utilisez IIS7, vous ‘ d importer le PFX; sinon, vous ‘ extraire la clé privée cert & du PFX dans leurs propres fichiers).
Réponse
Quoi est la différence entre les fichiers de certificat .pfx et .cert?
La réponse donnée par @Thomas Pornin est plutôt bonne.
Distribuons-nous .pfx ou .cert pour lauthentification client?
Cela dépend du processus utilisé.
Le processus typique pour configurer un client externe pour sauthentifier à laide dun certificat est le suivant: 1) le client génère une paire de clés asymétriques (clés publiques et privées); 2) le client génère une demande de signature de certificat pour la clé publique et lenvoie au serveur; 3) le serveur signe la clé publique et renvoie cette signature (le » certificat « ) au client; 4) le client stocke la clé privée avec ce certificat dans son keystore. Désormais, lorsque le client se connecte au serveur, le certificat est présenté et le client est authentifié.
Dans le scénario ci-dessus, un » .cert » est renvoyé au client.
En interne, de nombreuses organisations effectuent ce processus pour leurs employés. Dans cette situation, ce qui suit se produit: le personnel informatique génère la paire de clés publique et privée pour un employé avec la demande de signature de certificat. Ils signent ensuite la clé publique (à laide de leur autorité de certification privée) et placent le certificat résultant, ainsi que la clé privée correspondante et tous les certificats CA intermédiaires (la chaîne de certificats » « ), dans le keystore de lutilisateur.
Dans ce scénario, un » .pfx » (ou » .pem « ) serait approprié car il contiendrait tous les éléments nécessaires à lauthentification du client: le privé clé, le certificat et la chaîne de certificats.
Recherchez » Inscription automatique du certificat » pour un moyen pour automatiser ce processus pour les utilisateurs et les appareils de votre entreprise.