Я создаю приложение WCF, в котором я буду использовать сертификаты для шифрования связи между клиентом и сервером. В моей среде разработки я хочу использовать сертификат test/self signed, который я создал с помощью makecert. (Только у сервера будет сертификат, клиент не будет).Почему WCF жалуется на ошибку проверки удостоверения личности?
Я установил сертификат в хранилище сертификатов, и все работает нормально. На клиенте certificateValidationMode в настоящее время установлен как «false», так как я работаю с сертификатом тестирования.
Моей проблема:
В app.config на клиенте, я должен указать единичный элемент, как это:
<endpoint ... >
<identity>
<dns value="<Name-Of-Server-Computer>"/>
</identity>
</endpoint>
Если удалить элемент идентичности, я получаю следующее сообщение об ошибке в клиенте, когда я пытаюсь подключиться к серверу:
Ошибка идентификации для исходящего сообщения. Ожидаемый идентификатор DNS удаленной конечной точки был «localhost», но удаленная конечная точка предоставила DNS-заявку «Name-of-Server-Computer». Если это законная удаленная конечная точка, вы можете устранить проблему, явно указав идентификатор DNS «Имя-сервер-компьютер» как свойство Identity EndpointAddress при создании прокси-сервера канала.
Так вот мои вопросы:
ли проверка идентичности сделано только при использовании/самозаверяющий сертификат испытаний? Когда я развожу свое приложение, используя реальный доверенный сертификат, приобретенный у ЦС, будет ли еще выполняться проверка подлинности?
Есть ли способ отключить проверку личности? Я знаю, что могу создать свой собственный сертификат проверки подлинности, но, похоже, не существует способа переопределить проверку идентификатора, используя эти.
> «Это проверка безопасности, которую я никогда бы не отключить!» Просто убедитесь, что я понимаю. Означает ли это, что есть способ отключить его? Я понимаю преимущества проверки ... – Nitramk
Я даже не думал об этом, поэтому никогда не испытывал желания проверить, есть ли способ отключить его. Я не знаю, извините. –