2009-03-21 4 views
2

Si nous rendons la clé privée exportable (en utilisant l'option -pe dans makecert), nous avons en théorie une clé privée exportable et une clé publique (clé publique dans le certificat) qui peuvent être transférées ou importées sur une autre machine. Donc, ma question est, pourquoi avons-nous encore besoin de créer le fichier .pfx (fichier d'échange de clés, qui contient des clés privées et publiques) - rendant la clé privée exportable dans le certificat pourrait faire tout ce que nous voulons? Tous les scénarios fichier pfx pourrait couvrir ce qui rend la clé privée exportable dans le certificat n'a pas pu atteindre?Pourquoi avons-nous besoin du fichier pfx (échange de clés)?

merci à l'avance, George

Répondre

3

Votre fichier PFX peut être protégé par mot, qui ajouterait une couche de protection

+0

Merci Sébastien, je pense que dans le certificat, la clé privée est également cryptée. Je ne peux pas voir une raison forte dans ce fichier pfx scenairos est mieux et un must - qu'un certificat avec clé privée exportable. – George2

4

Y at-il une ligne de commande makecert vous avez trouvé qui va générer un fichier de certificat qui comprend une clé privée? Je n'ai jamais. J'ai vu quelqu'un faire allusion au fait qu'il existe une version de makecert qui peut produire des fichiers .pfx mais qui n'ont jamais vu ça.

Cela signifie que, au mieux, vous pouvez créer deux fichiers avec makecert si vous voulez un fichier de clé privée. Un pour le certificat et un pour la clé privée. Vous pouvez copier ces deux fichiers sur un autre ordinateur et les importer en utilisant makecert.

L'avantage du format de certificat .pfx est que vous pouvez combiner les deux fichiers avec le certificat et la clé privée en un seul. Ceci est plus pratique et signifie également que vous pouvez utiliser le fichier avec la classe .Net X509Certificate2 pour une utilisation avec un SslStream.

+0

"Est-ce que vous avez trouvé une ligne de commande makecert qui va générer un fichier de certificat incluant une clé privée? - Je veux dire makecert -pe. Des commentaires? – George2

+0

La commande -pe n'inclut pas la clé privée dans le fichier de certificat. Vous pouvez vérifier cela en utilisant -pe, copier le fichier cert sur un autre ordinateur, l'importer et vous verrez qu'il n'y a pas de clé privée. – sipwiz

+0

Je suis confus. -pe dans MSDN a déclaré qu'il est utilisé pour rendre la clé privée exportable. Pourriez-vous aider à clarifier s'il vous plaît? – George2

2

Le problème est que le X509 Certificate standard (le certificat) n'inclut pas la clé privée. Le certificat contient les informations de clé publique sujet (aka, la clé publique) et des informations sur le détenteur de la clé privée, mais la norme ne prend pas en charge l'inclusion de la clé privée. C'est l'idée de base de PKI - le certificat est l'information publique que vous partagez avec le monde, la clé privée est quelque chose que vous détenez en toute sécurité. Rendre une clé privée exportable dans n'importe quel mécanisme (par exemple, makecert) signifie que vous dites à ce produit que la clé peut être exportée. Il ne spécifie pas le format de fichier que vous utiliseriez pour le stocker. Un fichier pfx est un moyen de stocker la clé privée - il utilise le PKCS 12 standard. Les magasins de clés Java (* .jks) sont une autre façon de faire la même chose. La plupart des normes prises en charge par des supports ont des caractéristiques communes similaires: elles protègent la clé privée en la chiffrant. Le cryptage peut être déverrouillé à l'aide d'un mot de passe. Ils couplent la clé privée avec le certificat qui la décrit.

+0

De votre commentaire, ce que je comprends est que PFX ne peut pas être utilisé dans un environnement PKI? Ai-je raison? comme vous ne voulez pas avoir votre clé privée sautillante bien protégé par un mot de passe? – Raj

0

Si vous souhaitez générer un fichier PFX, vous devez avoir à la fois la clé publique x509 et le fichier de clé privée que vous pouvez générer à l'aide de la commande makecert. PFX peut être généré en utilisant la commande PVk2PFX dans laquelle vous pouvez trouver le répertoire d'installation de Microsoft SDK.

Questions connexes