ho avuto lo stesso problema:
WinHttpCertCfg
sembra essere stata abbandonata senza un'alternativa ragionevole.
- My Certificate Manager non ha incluso un'opzione "Gestisci chiavi private" come indicato in this old MSDN blog post.
- La compilazione di
FindPrivateKey
è un sovraccarico irragionevole in un ambiente Windows.
L'impostazione dell'autorizzazione per un certificato comporta la concessione al pool di applicazioni del diritto di lettura del file cert.
Ciò può essere ottenuto utilizzando icacls.exe (l'interfaccia utente di protezione di Windows Explorer non supporta pool di applicazioni):
icacls C:\ProgramData\Microsoft\crypto\rsa\machinekeys\9876abcdeblahblahblah /grant "IIS AppPool\AppPoolName:R"
chiavi negozi macchina Windows in C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys
, ma i nomi dei file non sono legati alla certificato. Il nome del file per ogni certificato può essere ottenuto utilizzando questo codice PowerShell:
ls Cert:\LocalMachine\TrustedPeople |
select Subject,@{n='FileName';e={$_.PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName}} |
Format-List
(Change "TrustedPeople" se il CERT è in un altro negozio.)
Il nome del pool di applicazioni può essere ottenuto dal nodo Pool di applicazioni di Gestione IIS o eseguendo questo codice PowerShell:
Import-Module WebAdministration; ls IIS:\AppPools
Questo script PowerShell 3 userà Out-GridView (OGV) come un elenco GUI per il CERT e la piscina app, quindi concedere l'autorizzazione:
ipmo WebAdministration
$cert = (ls Cert:\LocalMachine\TrustedPeople |
ogv -OutputMode Single -Title "Select Certificate").
PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName
$app = (ls IIS:\AppPools |
ogv -OutputMode Single -Title "Select App Pool").Name
icacls $env:ProgramData\Microsoft\crypto\rsa\machinekeys\$cert /grant "IIS AppPool\$($app):R"
spunta questo http://weblogs.asp.net/hernandl/archive/2005/02/09/WinHttpCertCfgTool.aspx Cordiali saluti, Vivek – Vivek
Ho già provato questo campione. Il mio certificato ha ora accesso a molti utenti. Pool User, amministratore di dominio, tutti ... Sembra che l'appdomain sia in esecuzione in "LocalSystem" e non vedo il modo di dare accesso a questo utente come dice la documentazione, questo è già l'utente con accesso amministratore. – bkhanal