Набор ключей сертификатов сервера WCF не найден, не удается найти закрытый ключ
-
05-07-2019 - |
Вопрос
У меня есть сертификат сервера, работающий с моей службой WCF.
Однако при запуске веб-службы у меня возникает проблема с разрешениями.
[ArgumentException: сертификат 'CN = S80' должен иметь закрытый ключ, способный к обмену ключами. Процесс должен иметь права доступа к закрытому ключу.]
Есть идеи?
Решение
Предполагая, что у вас есть полная пара открытых / закрытых ключей, вы не предоставили доступ к закрытому ключу сертификата процессу, в котором работает служба WCF.
Теперь то, как вы это сделаете, зависит от версии вашей ОС и способа размещения службы, но эта статья содержит инструкции, которые должны работать в XP и Windows 2003.
Для Windows 2008 / Vista / Win7 этот процесс немного проще. Запустите MMC и добавьте оснастку «Сертификат», выбрав правильного владельца контейнера для вашего сертификата SSL. Найдите сертификат (он, вероятно, находится в личном магазине), щелкните его правой кнопкой мыши и выберите «Все задачи» > Управление закрытым ключом. Предоставьте доступ на чтение к закрытому ключу пользователю, обслуживающему ваш сервис.
Другие советы
winhttpcertcfg -g -c LOCAL_MACHINE\MY -s mycert -a "Network Service"