winhttpcertcfg donnant accès à l'utilisateur iiS sous Windows 7
J'ai besoin de donner accès à l'IIS de l'utilisateur à un pfx certificat. Le site web est en cours d'exécution en vertu de l'Application de la Piscine en vertu de l'utilisateur AppPoolUser. IIS automatiquement le nom d'utilisateur est "IIS APPPOOL\AppPoolUser" et c'est ce que nous avons besoin de donner accès lorsque nous utilisons aspnet_regiis -ga .
Cependant, lorsque j'utilise winhttpcertcfg pour donner accès à l'utilisateur "IIS APPPOOL\AppPoolUser", il dit: "Aucun compte n'a été trouvé".
La commande que j'utilise est
winhttpcertcfg -i <filename> -c <certificateLocation> - g -a <account name>
N'ai pas trouvé tous les échantillons de cette sur le web. Des idées?
source d'informationauteur bkhanal
Vous devez vous connecter pour publier un commentaire.
Je sais que c'est une vieille question, mais j'ai juste eu le même problème hier, j'ai donc bien que j'avais la réponse.
J'ai eu le même problème, mais avec un certificat situé dans le LocalMachine -> TrustedPeople magasin...
Vous devez utiliser
icacls
au lieu deWinHttpCertCfg
prises de ce lien.Fondamentalement, il devrait ressembler à ceci:
Pour le bien de l'achèvement, voici comment je devais le faire pour accéder aux "Personnes de Confiance" du magasin. Prises dans le cadre de ce lien.
Utiliser le FindPrivateKey outil à partir de Microsoft pour localiser le fichier, pour le cert dans le magasin. Cet outil doit être compilé à partir du code source dans
.\WF_WCF_Samples\WCF\Setup\FindPrivateKey\CS
de la Windows Communication Foundation (WCF) et Windows Workflow Foundation (WF) des Échantillons .NET Framework 4 télécharger.Utilisation
icacls
sur le fichier donné par FindPrivateKey.Voilà!
Pour le post original, il vous suffit de remplacer le nom de domaine "pool d'applications IIS" avec votre machine locale du nom de domaine - généralement le même nom que la machine. Lorsque WinHttpCertCfg fonctionne, il faudra vous tourner <Ordinateur>\<AppPoolUser> <IIS APPPOOL>\<AppPoolUser>" et accorder l'accès à la certficate. Si vous souhaitez travailler sur un dev desktop avec IIS local, ce qui devrait résoudre votre problème. ICACLS ne fonctionne que sur les serveurs (qui vous sera finalement le déploiement d').
Vous pouvez également le faire à partir de la
mmc
composant logiciel enfichable Certificats.Juste à droite-cliquez sur le certificat en question, choisissez
All Tasks -> Manage private keys...
et ajouter l'utilisateur que vous souhaitez (probablementIIS APPPOOL\[your app pool]
).J'ai eu le même problème:
WinHttpCertCfg
semble avoir été abandonné sans une solution de rechange raisonnable.FindPrivateKey
est déraisonnable de frais généraux dans un environnement Windows.Réglage de l'autorisation pour un cert concerne l'octroi de l'application de la piscine le droit lire le fichier cert.
Ceci peut être réalisé à l'aide de icacls.exe (l'Explorateur Windows INTERFACE utilisateur de sécurité ne prend pas en charge les pools d'applications):
Windows stocke les clés de machine dans
C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys
, mais les noms des fichiers ne sont pas liées au certificat. Le nom de fichier pour chaque certificat peut être obtenu à l'aide de ce code PowerShell:(Changement "TrustedPeople" si votre cert est dans un autre magasin.)
Le nom de l'application de la piscine peut être obtenu à partir du nœud Pools d'Applications du Gestionnaire des services IIS, ou par l'exécution de ce code PowerShell:
Ce PowerShell 3 script va utiliser GridView (ogv) comme une interface graphique, liste de sélection pour le cert et l'application de la piscine, puis accordez la permission:
Lorsque vous installez l'application est ajoute également de la documentation:
C:\Program Files (x86)\Windows Resource Kits\Tools
Les exemples suivants illustrent certaines des façons dont l'outil de configuration peut être utilisé.
Cette commande répertorie les comptes qui ont accès à la clé privée pour le "MyCertificate" certificat dans la "Racine" magasin de certificats de l'LOCAL_MACHINE branche du registre.
Cette commande donne accès à la clé privée de l' "MyCertificate" certificat dans la rubrique "Mon" magasin de certificats pour le compte TESTUSER.
Cette commande importations d'un certificat et la clé privée à partir d'un fichier PFX et s'étend de la clé privée d'accès à un autre compte.
Cette commande supprime l'accès à la clé privée pour le IWAM_TESTMACHINE compte avec le certificat spécifié.
Si vous souhaitez continuer à utiliser wihHttpCertCfg, puis utilisez la commande ci-dessous:
J'ai eu le même problème et je l'ai résolu par la commande ci-dessus aujourd'hui.
Ce qui fonctionne de moi, c'est mon site de test est en service réseau (application de la piscine) (déploiement) et dans mon local est "applicationpoolidentity" (copie de travail)
de passer à la applicationpoolidentity et exécuter votre winhttpcertcfg commande