В одном решении VS есть два проекта: клиент (wpf app) и wcf service lib.
Я использую защиту сообщений и пользовательский AspNetMembershipPrivider на стороне сервера для проверки имени пользователя и передачи.
Поскольку я не использую систему безопасности Windows, мне приходилось использовать сертификат на сервере, чтобы установить безопасный chanell, и что я сделал:
- открыл мой локальный менеджер IIS и добавил самозаверяющий сертификат с именем likemy dev machine.
- проверено, что этот сертификат появился в оснастке «Сертификаты» под персональными сертификатами
- настроенный wcf .config, чтобы указать на этот сертификат.
- начал мое приложение-клиент в VS (и VS также запустил приложение wcfhost для моей wcf lib)
Все было в порядке, wcfhost работал нормально, и мои службы работали нормально, пока я не перезагрузился. После перезагрузки wcfhost заявила, не жалуется:wcf certificate Keyset не существует проблемы после перезагрузки
The certificate 'CN=xxx' must have a private key that is capable of key exchange. The process must have access rights for the private key. ---> System.Security.Cryptography.CryptographicException: Keyset does not exist
Единственное, что helpes воссоздает свой сертификат, и снова до перезагрузки. Как я уже говорил выше, моя служба работает под моей учетной записью пользователя (локальный администратор), поэтому я не думаю, что проблемы с моими файлами c: \ Users \ xxx \ AppData \ Roaming \ Microsoft \ Crypto \ RSA \ являются проблемой.
Причина, по которой я использую диспетчер iis для создания сертифицированных, а не makeert и т. Д., Заключается в том, что я хочу, чтобы все работало над моей общей учетной записью osting у меня есть (есть опция в панели хостинга создания самозаверяющих сертификаты).
Может ли кто-нибудь помочь с этим? Спасибо
А, я забегал в «run as admin» на моем домашнем компьютере (vista). Я не ожидаю, что у вас будут трудности с защитой IIS7 и сообщений, если учетная запись службы, в которой работает этот процесс, имеет права доступа к сертификату. В любом случае у вас будет такая же проблема с сертификатом безопасности на транспорте. CodePlex - http://www.codeplex.com/WCFSecurityGuide имеет полезную информацию и контрольные списки для разных сценариев, которые помогут охватить все, что вам нужно. – Tanner