«Не удалось загрузить удостоверение сертификата X.509, указанное в конфигурации» - PullRequest
8 голосов
/ 10 февраля 2009

Я передал рабочую службу WCF из моей среды разработки в среду QA, включая сертификаты (Root Authority, Список отзыва Root-аутентификации, Сертификат службы - включая его PK).

После этого я обнаружил закрытый ключ usihg 'FindPrivateKey' и дал всем соответствующим учетным записям полные права доступа к файлу закрытого ключа на уровне файловой системы.

Мое приложение аварийно завершает работу с необработанным исключением: System.InvalidOperationException: невозможно загрузить идентификатор сертификата X.509, указанный в конфигурации.

Я в тупике, я думаю, что я все охватил, но, очевидно, нет ...

Я пробовал это на хосте службы Windows, а также на хосте консольного приложения. Та же проблема.

Ответы [ 5 ]

26 голосов
/ 03 октября 2011

Я столкнулся с этой же ошибкой в ​​простом WFC-сервисе, написанном с VS2010 SP1 на Win 7. Исправление, которое я нашел, было добавить

<dns value="localhost" />

в разделе app.config

Источник: http://social.msdn.microsoft.com/Forums/en-AU/wcf/thread/439539ef-e8d7-4e7d-b36e-b80acd401606

8 голосов
/ 15 октября 2012

это работает для меня:

    <identity>
      <certificateReference storeName="My" storeLocation="LocalMachine"  x509FindType="FindBySubjectName" findValue="xxxxxxxx" />
      <dns value="localhost" />
    </identity>
1 голос
/ 11 сентября 2009

Вот учебник, объясняющий, как создать сертификат, который должен решить эту проблему:

Codeplex WCF Security: как создавать и устанавливать временные сертификаты в WCF для защиты сообщений во время разработки .

Надеюсь, это исправит то, что вам нужно - даже если вы спрашивали об этом 6+ месяцев назад!

С уважением, Джо

0 голосов
/ 06 сентября 2013

Я новичок в WCF и столкнулся с этой проблемой сегодня при создании простой службы WCF. Просто хочу поделиться некоторыми мыслями:

1. Исправление проблемы - Если вы прочитали все остальные ответы до того, как Джо (выше), вы бы знали, как решить проблему;) без сертификатов

2. Устранение проблемы с сертификатами - я хочу поблагодарить Джо за то, что он поделился отличной ссылкой «Как: создать и установить временные сертификаты в WCF для защиты сообщений во время разработки»

Дополнительно: Вы можете загрузить образцы WCF с веб-сайта Microsoft. Вы найдете инструмент под названием «FindPrivateKey», используемый в приведенной выше ссылке

0 голосов
/ 28 января 2011

Совпадает ли общее имя вашего сертификата с именем вашего хоста?

...