2010-09-01 7 views
3

Я создал службу WCF, которая имеет метод, который делает вызов веб-службы SOAP через Интернет.Служба WCF не может получить доступ к хранилищу личных сертификатов Если учетная запись службы не зарегистрирована

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

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

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

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

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

Может ли кто-нибудь помочь? Благодарю.

ответ

5

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

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

2

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

Подобно http://support.microsoft.com/kb/901183

+0

Спасибо за ваш ответ. Сертификаты уже установлены для учетной записи службы и предоставленных разрешений. Похоже, мне просто нужно было установить LoadUserProfile в true в настройках пула приложений. – thiag0

Смежные вопросы