У меня был один и тот же вопрос:
WinHttpCertCfg
, кажется, были оставлены без разумной альтернативы.
- Мой диспетчер сертификатов не включил опцию «Управление приватными ключами», как указано в this old MSDN blog post.
- Компиляция
FindPrivateKey
является необоснованным накладные расходы в среде Windows.
Установка разрешения для сертификата включает предоставление пула приложений права на чтение файла сертификата.
Это может быть достигнуто с помощью icacls.exe (интерфейс безопасности Windows Explorer, не поддерживают пулы приложений):
icacls C:\ProgramData\Microsoft\crypto\rsa\machinekeys\9876abcdeblahblahblah /grant "IIS AppPool\AppPoolName:R"
ключей магазинов машины Windows, в C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys
, но имена файлов не связанно с сертификат. Имя файла для каждого сертификата можно получить с помощью этого PowerShell код:
ls Cert:\LocalMachine\TrustedPeople |
select Subject,@{n='FileName';e={$_.PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName}} |
Format-List
(Изменить «TrustedPeople», если ваш сертификат находится в другом магазине.)
Имя пула приложений может быть получен из узла Пулы приложений диспетчера IIS или выполнив эту PowerShell код:
Import-Module WebAdministration; ls IIS:\AppPools
Этот PowerShell 3 сценарий будет использовать Out-GridView (ОГВ) как список выбора GUI для CERT и пула приложений, а затем предоставить разрешение:
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"
проверить это http://weblogs.asp.net/hernandl/archive/2005/02/09/WinHttpCertCfgTool.aspx С уважением, Vivek – Vivek
Я уже пробовал этот образец. Теперь у моего сертификата есть доступ ко многим пользователям. Пользователь пула, администратор домена, каждый ... Похоже, что appdomain работает под «LocalSystem», и я не вижу способа предоставить доступ к этому пользователю, как говорит documentatin, это уже пользователь с доступом администратора. – bkhanal