Служба WCF не может получить доступ к хранилищу личных сертификатов, если учетная запись службы не зарегистрирована - PullRequest
3 голосов
/ 02 сентября 2010

Я создал службу WCF, у которой есть метод, который делает вызов веб-службы SOAP через Интернет.

Для вызова веб-службы SOAP необходимо, чтобы сертификат X.509 был отправлен с HttpWebRequest.

Сертификаты X.509 загружаются в хранилище личных и доверенных сертификатов учетной записи, под которой работает служба.

Когда учетная запись службы входит на сервер, все работает просто отлично.

Однако, когда учетная запись службы физически не зарегистрирована на сервере, возникают проблемы с загрузкой сертификата X.509 и не удается выполнить аутентификацию при попытке сделать запрос HttpWebRequest.

Я новичок в службах WCF, поэтому даже не знаю, с чего начать.

Кто-нибудь может помочь? Спасибо.

Ответы [ 2 ]

5 голосов
/ 02 сентября 2010

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

Необходимо перейти к дополнительным настройкам для пула приложений и установить для LoadUserProfile значение true.

2 голосов
/ 02 сентября 2010

Вам необходимо установить сертификат клиента в локальное хранилище компьютеров и получить к нему доступ оттуда, поскольку ваша учетная запись не является интерактивной с точки зрения приложения. Также у вас есть доступ к сертификату клиента для учетной записи пользователя, которая используется для запуска службы WCF.

Аналогично http://support.microsoft.com/kb/901183

...