PKCS # 7 n'inclut pas la partie privée (clé) d'une paire certificat / clé privée, il est couramment utilisé pour la diffusion de certificats (par exemple comme réponse à une demande de certificat PKCS # 10, comme moyen de distribuer des certificats S / MIME utilisé pour crypter les messages, ou pour valider les messages signés, etc.). Il est important de se rappeler que ce n'est que pour les certificats qui sont par définition des objets publics.
PKCS # 12 est un conteneur plus universel - il est destiné à stocker à la fois la clé privée et les parties de certificat public afin qu'elles puissent être déplacées. Il a la capacité d'être protégé par mot de passe pour fournir une certaine protection aux clés.
PFX était le prédécesseur de PKCS # 12.
Vous ne pouvez pas (comme le souligne Anitak) convertir de PKCS # 7 en PKCS # 12 sans données supplémentaires (la partie clé privée) car PKCS # 7 n'a pas toutes les données.
Mark Sutton a expliqué pourquoi vous ne pouvez pas exporter en tant que PFX - le certificat en question a sa clé privée marquée comme non exportable. Le fournisseur de services cryptographiques (CSP) ne permettra pas le déplacement de cette clé, c'est intentionnel. La seule * manière d'obtenir une paire de clés \ cert exportable est de délivrer le certificat d'origine avec le jeu d'indicateurs exportables. Il est également possible qu'aucune clé privée ne soit associée au certificat, mais je suppose que ce n'est pas le cas ici.
Il existe un bon résumé des différents types de PKCS sur Wikipédia .
- La seule façon légitime au moins. Selon le matériel CSP \ Crypto, il peut y avoir des mécanismes, en particulier pour les logiciels uniquement CSP, mais c'est un domaine pour la recherche de vulnérabilité de sécurité uniquement en ce qui me concerne, pas l'administrateur système.
Je passe par tous les 2 ans (quand je renouvelle un certificat de signature de code) et c'est à chaque fois une douleur.
Une information clé est que vous pouvez simplement renommer les fichiers .p7b en .spc (comme indiqué ici: http://support.microsoft.com/kb/269395 ).
Vous pouvez ensuite utiliser l'outil pvk2pfx.exe pour convertir votre PVK + SPC en PFX.
(vous pourrez peut-être ignorer l'étape de changement de nom du p7b et l'utiliser directement; je n'ai pas essayé ...)
la source
Avec l'outil Windows, si l'option pfx est désactivée, cela signifie que la clé privée ne peut pas être exportée à partir du magasin local. C'est parce que ce n'est pas là (parce que les clés n'ont pas été générées sur la boîte que vous utilisez) ou parce que lorsque vous avez généré les clés, la clé privée n'était pas marquée comme exportable et le modèle de certificat Windows n'était pas configuré pour autoriser l'exportation.
Je suppose que vous utilisez une autorité de certification Microsoft pour émettre vos certificats. Est-ce correct?
Si oui, alors: -
1.Assurez-vous que le modèle de certificat permet l'exportation de clés privées.
2. Comment générez-vous votre demande de certificat, vous pouvez utiliser la technique suivante
CRÉER le fichier INF comme suit
[Version]
Signature = "$ Windows NT $
[NewRequest]
Subject =" etc "
KeySpec = 1
Exportable = 1
MachineKeySet = TRUE
ProviderName =" CSPName "
ProviderType = 1
[RequestAttributes] CertificateTemplate =
NOTE l'exportable = 1
Utilisez ensuite les commandes fllowing à l'invite de commande
certreq -new infile.inf reqfile.req // où infile.inf est le fichier ci-dessus et reqfile est le fichier de demande de sortie
certreq -submit -config \ reqfile.req // soumet la demande de certificat à l'autorité de certification
Une fois cette opération terminée, vous être en mesure d'exporter le certificat en tant que pfx
Vous pouvez également accéder à http://www.blacktipconsulting.com/Site/Products.html où j'ai mis mon outil de ligne de commande gratuit qui fait tout cela pour vous et exporte le certificat en tant que pfx une fois terminé
la source
Comme Helvick l'a souligné, la réponse de PKCS10 est PKCS7 et ne contient pas la clé privée. Ainsi, lors de la génération du CSR, vous devriez avoir généré un fichier privatekey.key. Vous pouvez utiliser les commandes suivantes. (Je sais que c'est une question vieille de quatre ans mais je n'ai pas pu le faire en suivant la discussion sur la page).
Bonne chance!
Cordialement, JE
la source
-inform
argument.Je peux me tromper, mais je pense que votre fichier PCKCS # 7 ne comprend que la moitié publique de votre certificat.
Le fichier PKCS # 12 devrait avoir les deux moitiés - c'est pourquoi il a besoin de l'
-inkey
option.la source