Проблема с самоподписанным сертификатом в WCF - необходим закрытый ключ

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

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

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

Любая помощь была бы замечательной!

Спасибо


person JoshBerke    schedule 05.12.2008    source источник


Ответы (2)


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

person Nitin Pande    schedule 09.08.2011
comment
Это чертовски проще, чем по-моему. Мой путь - старый подход IIS6 - person JoshBerke; 11.08.2011

Догадаться.

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

makecert -sk SignedByCA -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.

person JoshBerke    schedule 05.12.2008
comment
Объясните пожалуйста - подробно как вы заходите в MMC tool и управляете приватными ключами? - person JL.; 16.11.2009
comment
Где находятся все задачи / Управление закрытыми ключами? Я использую Windows 2008 R2, и я не вижу эту опцию в MMC Snap в ... - person essedbl; 15.03.2011
comment
@essedbl: если вы щелкните правой кнопкой мыши сертификат в оснастке MMC Certificates, затем щелкните All Tasks, и все, что вы увидите, это Open and Export ..., затем дважды щелкните сертификат, и вы не увидите любое упоминание о закрытом ключе - не прилагается. Попробуйте сертификат в Personal, в котором говорится, что у вас есть закрытый ключ, соответствующий этому сертификату на вкладке General, а затем попробуйте щелкнуть правой кнопкой мыши All Tasks, и вы увидите Manage Private Keys .... Он отображается только в том случае, если закрытый ключ должен управляться. - person Jim Flood; 09.04.2011
comment
Если вы по-прежнему не видите «Управление закрытыми ключами ...», убедитесь, что вы используете хранилище сертификатов «Учетная запись компьютера», а не хранилище «Моя учетная запись пользователя» при загрузке оснастки MMC. - person Crackerjack; 13.03.2012
comment
Параметр «Управление закрытыми ключами» находится только в разделе LocalMachine / StoreName. Вы не найдете его в CurrentUser / .. или Service / .., по крайней мере, в Win7. Но как только вы выполните управление, вы можете экспортировать или скопировать сертификаты в другие хранилища (например, Currentuser / Service), и он должен сохранить те же права. - person Brian; 03.05.2013
comment
Если у вас Windows 7, следуйте первому ответу. - person JoshBerke; 06.05.2013