SSL-сертификаты: обмен ключами сертификатов клиентов отсутствует - PullRequest
2 голосов
/ 06 мая 2010

Я пытаюсь получить доступ к веб-службе WCF, которая использует двухстороннее шифрование SSL. Когда я пытаюсь позвонить в службу, я получаю

System.ServiceModel.Security.SecurityNegotiationException: Не удалось установить безопасный канал для SSL / TLS с полномочиями «XXX.xx». ---> System.Net.WebException: запрос был прерван: не удалось создать безопасный канал SSL / TLS.

Я попытался активировать Wire Shark, чтобы увидеть, что отправляется на сервер и с сервера: я вижу привет клиента и привет сервера. Но нет ответа клиента на сервер привет. Я ожидал

«Сертификат. Обмен ключами клиента. Смена шифра. Зашифрованное сообщение рукопожатия»

пакет, но ни один не отправлен. Я думаю, что это проблема с сертификатом, отправленным сервером, что каким-то образом мой клиентский сервер не использует его.

Вот что я уже пробовал: Я создал сертификат через соответствующий орган, хотя я мог ошибиться в запросе сертификата, не зная его. Я добавил два корневых сертификата: доверенные корневые сертификаты, доверенные издатели и доверенные лица. Я также добавил сертификат клиента доверенным людям. Моему коллеге удалось установить соединение на сервере win 2008 (я использую 2003, потому что это необходимо по какой-то странной причине - не спрашивайте). Я не вижу различий в нашем подходе, поэтому я немного растерялся.

Любая помощь будет принята с благодарностью.

1 Ответ

2 голосов
/ 10 мая 2010

Я решил эту проблему:

Оказалось, что у пула приложений не было разрешения на чтение закрытого ключа сертификата. Мы изменили пул приложений на локальную систему (я считаю), и это решило проблему.

...