Самозаверяющий сертификат WCF не является доверенным на клиенте
У меня есть служба WCF, которая используется только между двумя серверами. Он никогда не будет использоваться публично.
Я надеялся, что смогу использовать SSL с самозаверяющим сертификатом для безопасности.
Я создал сертификат с помощью IIS7, установил его на клиентской машине с помощью IE и MMC (Personal, TrustedRoot, Third-Party & TrustedPeople).
Я все еще не могу добраться до сервиса, ни из кода, ни через IE8, без того, чтобы он не поставил под сомнение сертификат.
Из IE я получаю обычный "есть проблема с сертификатом безопасности этого сайта."
Из кода я получаю ошибку: "не удалось установить доверительные отношения для безопасного канала SSL / TLS с полномочиями"
Почему это не работает?
3 ответа:
Уверены ли вы, что ваша самозаверяющая сертификация находится в хранилище сертификатов доверенных корневых центров сертификации на клиентском компьютере, который будет получать доступ к вашей службе WCF? Смотрите снимок экрана ниже самозаверяющего сертификата, которому доверяет одна из моих машин Windows Vista.
Вы также уверены, что ваш сертификат является самозаверяющим сертификатом. Смотрите скриншот в конце одного из моих самоподписанных сертификаты.
Обновленная информация:
Проверьтеэту публикацию для получения информации о том, как использовать утилиту SelfSSL7 для создания самозаверяющих сертификатов, содержащих несколько имен хостов.
Вот еще однассылка с хорошей информацией о SelfSSL7.exe и загрузить информацию.
У меня было это сегодня - но с IIS7. Если вы используете IIS для создания сертификата (inetmgr - >выберите домашний узел, Затем выберите сертификаты сервера, используйте опцию меню справа, чтобы создать самосертифицированный сертификат. Атрибут' issued to 'устанавливается с использованием полного доменного имени вашей машины - как' mymachine.myintranet.copp.net-или что там еще.
До тех пор, пока вы FQDN для url для подключения из службы-как 'mymachine.myintranet.copp.net/myservice/service.svc-тогда ошибка исчезает.
Если если вы используете альтернативный URL-адрес, например IP-адрес или localhost, то возникает ошибка. Итак, машина выше была, очевидно, известна как джонма в своей сети, тогда она работает.
Причина, по которой он не работает, заключается в том, что IE обнаруживает, что сертификат не был создан из действительного центра сертификации (Certificate Authority). Самозаверяющие сертификаты больше подходят для тестирования, чем что-либо еще. Не было бы особого смысла в SSL, если бы вас не предупредили об этом.