2012-02-24 5 views
1

Актерыпроверки сертификата не удалось

-Asp.net сайта - Client
-Wcf услуги - Сервер

Оба приложения работает на IIS-7.

Я хочу провести интеграционный тест между двумя приложениями. Клиент получает доступ к серверу через «https». Я создал сертификат и назначил его серверу. Я также добавил сертификат в «Доверенные корневые центры сертификации», чтобы считаться действительным сертификатом. Когда я «ударяю» службы сервера через мой браузер (IE, хром ...), сертификат выглядит действительным. Но когда мой клиент приложение пытается получить доступ к серверу, то я получаю следующее сообщение об ошибке:

Could not establish trust relationship for the SSL/TLS secure channel with authority **** ---> 
The remote certificate is invalid according to the validation procedure. 

Есть ли способ, чтобы пропустить процедуру проверки или сделать сертификат действителен для моего клиентского приложения?

Просто знать:
1. Я не могу приобрести сертификат, потому что я буду использовать его только для целей тестирования.
2. Я не могу делать какие-либо изменения в любой из кода приложения (клиент-сервер)

ответ

1

Мне, наконец, удалось разобраться.

Проблема была предыдущим (истекшим) сертификатом с тем же именем, которое уже было добавлено в «Доверенные корневые центры сертификации». Каждый раз, когда я устанавливал свой новый сертификат через «Мастер импорта сертификатов» (или через MMC), мастер сообщил мне, что он был успешно добавлен. Однако он сохранял экземпляр предыдущего сертификата без его перезаписи.

0

Изменение обратного вызова проверки всегда возвращает истину:

ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, policyErrors) => true; 

Или же, что не нарушает «никаких изменений в коде ' состояние?

+0

Похоже, он не нарушает никаких изменений в клиентском коде. – andreadi

+0

Да, к сожалению, это нарушает это условие. Единственное изменение (если это считается изменением), которое я могу сделать, находится в файле web.config. – Schaliasos

0

Как вы установили сертификат в свой доверенный корневой магазин?

Если вы воспользовались браузером, скорее всего, вы добавили его только к текущему пользователю. Попробуйте добавить его через оснастку MMC для учетной записи локального компьютера; это то, где мы устанавливаем наши самоподписанные сертификаты IIS Express, и WCF, похоже, им нравится.

+0

Я добавил его через MMC на моем локальном компьютере, и на веб-сервере были запущены оба приложения. До этого изменения браузеры «жаловались» на сертификат. После этого он кажется действительным, но процедура проверки моего клиента не выполняется. – Schaliasos

Смежные вопросы