web-dev-qa-db-fra.com

Différence entre les certificats .pfx et .cert

Quelle est la différence entre .pfx et .cert fichiers de certificats?

Distribuons-nous .pfx ou .cert pour l'authentification client?

130
Xsecure123

Il existe deux objets: la clé privée , qui appartient au serveur, la garde secrète et l'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, nominalement, 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 l'autorité de certification qui a signé son certificat, et le certificat de l'autorité de certification qui a signé le certificat de l'autorité de certification, 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; c'est une source courante de confusion. Personnellement, je m'en tiens à la définition stricte pour laquelle le certificat est le conteneur signé pour la clé publique uniquement.

UNE .pfx le fichier est un archive PKCS # 12 : un sac qui peut contenir beaucoup d'objets avec une protection par mot de passe optionnelle; 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.

D'un autre côté, un .cert (ou .cer ou .crt) le fichier contient généralement un seul certificat, seul et sans aucun habillage (pas de clé privée, pas de protection par mot de passe, juste le certificat).

175
Thomas Pornin

Je sais que c'est un fil vieux d'un an, mais pour les futurs lecteurs, comme mentionné ci-dessus, non, vous ne distribuez pas le fichier .pfx car c'est le fichier contenant la clé privée. Vous pouvez extraire et distribuer le certificat (qui est public) à partir du fichier .pfx via la méthode décrite ici: https://stackoverflow.com/questions/403174/convert-pfx-to-cer

41
tavnab