Я застрял с предоставлением клиентских сертификатов в 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 зарегистрирована как другой пользователь. В чем проблема с доступом к хранилищу ключей локальной системной учетной записи?
Есть предложения?