Проблема с самоподписанным сертификатом в WCF - должен иметь закрытый ключ - PullRequest
9 голосов
/ 05 декабря 2008

Я создаю службу WCF, размещенную в IIS7 в Windows Vista SP1. Я получаю следующую ошибку:

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

Похоже, мне нужно было бы дать оценку хост-процесса сертификату, который был сделан в прошлом с winhttpcertcfg, который устарел для Vista. Статья, которую я нашел, указывает на использование консоли сертификата, но мне не хватает что-то, потому что я не вижу никакой возможности редактировать свой сертификат.

Любая помощь будет отличной!

Спасибо

Ответы [ 2 ]

8 голосов
/ 05 декабря 2008

Разобрался.

Предполагая, что у вас есть самоподписанный сертификат в c: \ OutCert, будет работать следующая команда. Я остановился на -ском обмене.

makecert -sk SignedByCA -iv c: \ OutCert.pvk -n "CN = MyLocalHost" -ic c: \ OutCert.cer -sr LocalMachine -ss Мой обмен по-* pe

Теперь вы можете войти в инструмент MMC, управлять закрытыми ключами и предоставить IIS доступ к ключу. Для управления закрытыми ключами щелкните правой кнопкой мыши сертификат и выберите All Tasks / Manage Private Keys.

5 голосов
/ 09 августа 2011

Вы можете использовать IIS 7.0 / 7.5 Просто Пуск-> Выполнить -> inetmgr Выберите сервер Под панелью «Безопасность» перейдите к «Сертификаты сервера» На левой панели нажмите «Создать самоподписанный сертификат» и завершите процесс. Crtfiticate будет установлен в LocalMachine StoreLocation под Personal storename. Теперь используйте этот сертификат в своей службе WCF, и вы не столкнетесь с этой ошибкой

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...