2009-02-09 3 views
8

Я перенесла службу WCF с рабочей средой из среды разработки в среду QA, включая сертификаты (Root Authority, Root Auth revocation list, Service certificate - включая PK).«Не удается загрузить идентификатор сертификата X.509, указанный в конфигурации»

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

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

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

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

ответ

1

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

Codeplex WCF Security: How To Create and Install Temporary Certificates in WCF for Message Security During Development.

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

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

0

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

25

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

<dns value="localhost" /> 

к> секции < идентичности app.config

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

+1

Он также работал для меня. Просто добавьте, что для нескольких конечных точек вы должны добавить его во все конечные точки. – ileon

+0

Не совсем понимаю, почему он может решить проблему, как работает localhost dns на этой картинке. – hardywang

8

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

<identity> 
     <certificateReference storeName="My" storeLocation="LocalMachine" x509FindType="FindBySubjectName" findValue="xxxxxxxx" /> 
     <dns value="localhost" /> 
    </identity> 
0

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

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

2. Закрепление вопрос Сертификаты - Я хочу поблагодарить Джо за обмен большой ссылкой"How To: Create and Install Temporary Certificates in WCF for Message Security During Development"

Дополнительно:You can download WCF samples from Microsoft website.. You'll find a tool called 'FindPrivateKey' used in the above link