est-il possible de donner la permission ASP.NET lire au magasin de certificats? p>
Si oui, comment? p>
Si non ... Dois-je définir la permission manuellement par fichier de certificat? P>
Si oui, où sont ces fichiers physiquement sur le disque dur? P>
3 Réponses :
Généralement, vous donnez des autorisations à un certificat fort>. J'utilise une méthode comme celle-ci pour trouver les autorisations de certificats personnalisées et de subvention. Si vous utilisez un certificat émis par une entité publique comme VeriSign, Thawte, etc., cela est probablement inutile. cacls.exe "C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\Machinekeys\4d657b73466481beba7b0e1b5781db81_c225a308-d2ad-4e58-91a8-6e87f354b030" /E /G "NT AUTHORITY\NETWORK SERVICE":R
La syntaxe pour icacls.exe est: icacls.exe Fichier / subvention "Utilisateur" :( R)
Pour afficher et définir des autorisations de MMC, cliquez avec le bouton droit de la souris sur le certificat dont vous avez besoin, dans le menu contextuel, sélectionnez toutes les tâches ... -> Gérer les clés privées ...
Sous Windows Server 2008 / Windows 7, vous devez trouver ces certificats dans le dossier C: \ programdata \ Microsoft \ Crypto \ RSA \ Machinesques Code>
@Petertate Y a-t-il un moyen de faire cela pour les clés publiques?
n'aime pas vraiment répondre à mes propres questions, mais un moyen simple de se débarrasser de cette erreur est de donner un accès complet au service réseau au C: \ lecteur et de propager les autorisations vers le bas. P>
Vous me fermerez, je sais, me disant à quel point ceci est mal - mais ça marche. P>
D'accord, c'est une pratique très dangereuse.
Cette solution ne convient que pour les tests et uniquement temporairement.
Le compte de service réseau que ASP.NET exécuté sous Par défaut n'a pas accès aux certificats personnels de la machine locale. Accorder l'accès par les éléments suivants: P>
repuplis de Sohnee @ forums.asp.net P>
Étape 1 - Si vous ne l'avez pas déjà installé - get WinHttpCertCfg < / p>
Étape 2 - Si vous avez déjà le Certificat installé sur la machine et vous avez juste besoin d'accorder à l'accès à Services réseau: P>
winhttpcercfg.exe -g -c local_machine \ my -s "émistoname" -a "NetworkService" p> blockQuote> blockQuote>