winhttpcertcfg: Предоставление сертификатов для пользователя службы Windows - PullRequest
5 голосов
/ 25 августа 2011

Я застрял с предоставлением клиентских сертификатов в Windows Server 2003 с помощью winhttpcertcfg :(

Мой сертификат правильно установлен в LOCAL_MACHINE \ My keystore, и я предоставил его с помощью winhttpcertcfg.exe. Так что все выглядит хорошо для меня:

WinHttpCertCfg.exe -l -c LOCAL_MACHINE\MY -s "MY_CERT"

Дополнительные учетные записи и группы с доступом к закрытому ключу включают в себя:

NT AUTHORITY \ SYSTEM

BUILTIN \ Администраторы

Но когда я пытаюсь получить доступ к MY_CERT в службе Windows, которая зарегистрирована как учетная запись локальной системы , я получаю следующее исключение:

System.Net.WebException: запрос был прерван: не удалось создать безопасный канал SSL / TLS.

Log-Детали:

Информация о System.Net: 0: [0600] AcquireCredentialsHandle (пакет = поставщик протокола унифицированной безопасности Microsoft, намерение = исходящий, scc = System.Net.SecureCredential)

Ошибка System.Net: 0: [0600] Ошибка AcquireCredentialsHandle () с ошибкой 0X8009030D. System.Net.Sockets Verbose: 0: [0600] Сокет # 21936442 :: Dispose ()

Ошибка System.Net: 0: [0600] Исключение в запросе HttpWebRequest # 24862511 :: - Запрос был прерван: Не удалось создать безопасный канал SSL / TLS.

Ошибка System.Net: 0: [0600] Исключение в запросе HttpWebRequest # 24862511 :: EndGetResponse - Запрос был прерван: не удалось создать безопасный канал SSL / TLS.

Все работает нормально, если служба Windows зарегистрирована как другой пользователь. В чем проблема с доступом к хранилищу ключей локальной системной учетной записи?

Есть предложения?

...