PrivateKey autorisations de confiance pour la machine locale racines de Confiance” des certificats
J'ai un certificat qui doit être importé dans les Certificats et/ou Autorités de Certification Racine approuvées et possède une clé privée correspondante.
Pour accéder à la clé de code dont vous avez besoin pour définir la clé privée autorisations à accorder un accès complet à particulier pool d'applications IIS. Je comprends tout à fait, mais le problème est que cela ne peut être réglé que sur les certificats personnels et pas racine de confiance.
J'ai essayé d'ajouter le même certificat pour le magasin et le code suivant ne rompt pas:
X509Store store = new X509Store(StoreName.Root, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
foreach (X509Certificate2 cert in store.Certificates)
{
if (cert.HasPrivateKey)
{
//access private key here
}
}
store.Close();
Définition des autorisations sur le certificat dans le magasin fonctionne si je change StoreName.Root
à StoreName.My
. Je suis en mesure d'y accéder. Mais je ne suis pas en mesure d'accéder à la racine. Il dit seulement:
Jeu de clés n'existe pas
Des suggestions?
Des informations supplémentaires
Si j'ai mis mes pools d'identité à Système Local (qui a le total des autorisations sur ma machine) je peux avec succès accès à la clé privée. Donc, la question principale est de savoir comment définir des autorisations sur mon identité de pool d'applications d'avoir accès aux clés privées des certificats dans le magasin Racine de Confiance.
Pourquoi magasin racine de confiance et pas de personnel?
J'ai un pré-construit assemblée qui accède à ce certificat, dans ce magasin, il suffit de placer le certificat dans le magasin Personnel ne suffit pas pour moi. C'est pourquoi le réglage de la confiance des autorisations sur les clés privées des certificats racine de confiance est impératif.
OriginalL'auteur Robert Koritnik | 2012-05-14
Vous devez vous connecter pour publier un commentaire.
Je n'ai pas essayé avec les Autorités de Certification Racine, mais ce que j'ai trouvé est la chose la plus simple à faire avec d'autres Magasins de Certificats est de faire glisser et de déposer le certificat dans le Magasin Personnel et puis définissez les autorisations puis faites-le glisser en arrière à l'original du certificat de magasin. Dans votre cas, les Autorités de Certification Racine.
Étapes à l'aide de Certificats MMC:
ainsi fait que fixer ur question?
Oui bien sûr, il n'. Je l'ai confirmé dans le commentaire précédent. Il fonctionne avec la banque de Racine de Confiance. Des œuvres. Simple.
dans win2003 server, je ne suis pas le "Gérer les Clés Privées" de la cert stocker à des fins Personnelles/Certificats/<cert> comme indiqué. quelqu'un rencontre ce?
Je suis en supposant que vous utilisez Windows 2003? Si vous avez besoin d'utiliser winhttpcertcfg.exe pour donner de la clé privée de l'accès à un compte de SERVICE RÉSEAU (ou le compte qui a besoin d'une autorisation). Le lien ci-dessus dans l'Étape 3 est pour Windows 2008 R2 (peut fonctionner en R1).
OriginalL'auteur thames
Solution
Il est possible de définir des autorisations de confiance sur les certificats autres que ceux dans le magasin de certificats Personnels, mais vous ne pouvez pas définir des autorisations via MMC. Au moins, pas directement sur le magasin. Accepté réponse montre une approche simplifiée avec le déplacement des certificats autour pour obtenir le même résultat.
Vous devez le faire de cette façon...
L'obtention de l'outil
Trouver votre clé privée
Entrez cette commande
De copier le fichier avec chemin d'accès (il sera liekly durée de plus de deux lignes à copier dans le bloc-notes et de les enchaîner)
Octroi de certificats de confiance
ouvrez l'invite de commande et saisissez:
Fait.
Cela accorder la clé privée du certificat de confiance totale pour l'utilisateur (dans mon cas, au-dessus de l'identité du pool d'applications) de sorte que vous pouvez utiliser la touche de signer des données ou de faire tout ce que vous devez faire avec elle.
Dans le cas où vous ne voulez pas de l'ensemble des autorisations, vous pouvez facilement modifier la dernière partie après la virgule. Elle peut avoir de nombreux différents paramètres, je vous invite donc à vérifier icacls commande help.
Je ne comprends pas votre question. Pouvez-vous la reformuler?
Quelle est la bonne 'YourStoreName" pour les certificats personnels?
c'est elle, c'est elle! merci Robert K. (re: résout les problèmes de l'ajout d'autorisations de lecture pour win 2003 serveur pour une application IIS. dieu bénisse la ligne de commande)
OriginalL'auteur Robert Koritnik
Si vous utilisez Windows Server 2003, vous remarquerez que vous n'obtenez pas la Gérer les Clés Privées tâche, en vertu de votre certificat.
Si vous installez Microsoft WSE 2.0 sur votre machine, vous pouvez utiliser un outil appelé Certificat X509 Outil. Juste la recherche de votre cert, son plus que probable que c'est (ou devrait être) dans la Machine Locale /Magasin Personnel.
REMARQUE: si vous avez votre cert dans le Courant de l'Utilisateur /le Magasin (ce qui est souvent le défaut), il ne sera accessible qu'à l'utilisateur qui est actuellement connecté, ce qui signifie que si vous voulez que votre serveur web pour y accéder, il ne peut pas, sans modifier les autorisations pour votre pool d'applications.
Vous devriez être en mesure de modifier les autorisations de la clé privée très facilement, par défaut, votre pool d'applications sur votre serveur sera à l'aide de SERVICE RÉSEAU pour exécuter votre application web. Donc, juste ajouter un RÉSEAU de SERVICE de la sécurité et, par défaut, il fixe le lire et Lire /Exécuter autorisations ce qui est suffisant pour votre BouncyCastle, etc, à lire la clé privée de sorte que vous pouvez signer votre document.
Espère que cette aide.
OriginalL'auteur sonjz