2011-02-03 3 views
2

оснастка «Сертификаты Windows MMC» позволяет администратору работать с «учетной записью службы», но как эти сертификаты доступны службе?Где сертификаты импорта сертификатов MMC для «Сервисной учетной записи»?

Если я импортирую в Личный кабинет как «Администратор», используя «Служебную учетную запись», и моя служба, работающая как стандартный пользователь, просматривает StoreLocation.CurrentUser (или StoreLocation.LocalMachine), используя System.Security.Cryptography.X509Certificates.X509Store, это делает не найти сертификат.

Если вместо этого я вхожу в качестве учетной записи службы и импортирую сертификат в Личный с этой стандартной учетной записи пользователя, то сертификат найден службой.

Где оснастка помещает сертификат для «учетной записи службы» и как служба находит его с помощью классов .NET?

ответ

1

Сертификаты хранятся в реестре под HKLM. Например, если имя службы MYSERVICE тогда Личные магазин сертификаты здесь:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Cryptography \ Services \ MYSERVICE \ SystemCertificates \ My \ Certificates]

Эта страница MSDN имеет более подробную информацию: System Store Locations

Я не вижу, где находится закрытый ключ - возможно, в данных блоба. Чтобы получить доступ к этому магазину из .NET, мне пришлось бы P/Invoke (см. here.)

Я не планирую использовать «Сервисную учетную запись», поэтому я не смотрю дальше.

0

Ugh. Я никогда не пользуюсь учетной записью службы. Я всегда использую учетную запись компьютера при установке SSL, которые будут использоваться IIS. Вы уверены, что вам нужно использовать учетную запись службы? Если это так, вы, вероятно, должны спросить профи в Server Fault (http://serverfault.com/).