Проблема с Самозаверяющим сертификатом в WCF - Должен быть Закрытый ключ
-
19-08-2019 - |
Вопрос
Я создаю службу WCF, размещенную в IIS7 в Windows Vista SP1.Я получаю следующую ошибку:
Сертификат 'CN=SignedByLocalHost' должен иметь закрытый ключ, который допускает обмен ключами.Процесс должен иметь права доступа к закрытому ключу.
Похоже, мне нужно было бы дать хост-процессу оценку сертификата, что в прошлом делалось с помощью winhttpcertcfg, который устарел для Vista.В статье, которую я нашел, указано использовать консоль сертификата, но я что-то упускаю из виду, потому что я не вижу никакой возможности редактировать мой сертификат.
Любая помощь была бы замечательной!
Спасибо
Решение
Вы можете использовать IIS 7.0 / 7.5 Просто Пуск-> Выполнить -> inetmgr Выберите сервер На панели "Безопасность" перейдите в раздел "Сертификаты сервера" На левой панели нажмите "Создать самозаверяющий сертификат" и завершите процесс crtfiticate будет установлен в Локальная машина Расположение магазина под Личный название магазина.Теперь используйте этот сертификат в своей службе WCF, и вы не столкнетесь с этой ошибкой
Другие советы
Разобрался в этом.
Предполагая, что у вас есть самозаверяющий сертификат по адресу c:\OutCert будет работать следующая команда.Я прекратил обмен информацией о небе.
makecert -sk подписан BYCA -iv c:\OutCert.pvk -n "CN=MyLocalHost" -ic c:\OutCert.cer -sr LocalMachine -ss My -sky exchange pe
Теперь вы можете зайти в инструмент MMC и управлять закрытыми ключами, а также предоставить IIS доступ к ключу.Чтобы управлять закрытыми ключами, щелкните правой кнопкой мыши на сертификате и выберите All Tasks / Manage Private Keys
.