самоподписанный сертификат в Windows Server - PullRequest
8 голосов
/ 25 апреля 2011

У меня есть консольное приложение C #, которое использует веб-сервис, который находится за пределами моей сети. Мне сказали, что веб-сервисы используют самозаверяющий сертификат для SSL. Я не знаком с сертификатом и мне интересно, что мне нужно делать в среде сервера .net / windows.

Спасибо.

Ответы [ 2 ]

4 голосов
/ 25 апреля 2011

Самозаверяющие сертификаты не будут рассматриваться вашим приложением как действительные по умолчанию, поскольку нет доверенной третьей стороны, проверяющей сертификат.Обычно вы видите самоподписанные сертификаты на тестовых серверах, и вы можете найти больше информации о самоподписанных и подписанных сертификатах здесь .

Если у вас возникли проблемы с вызовом веб-сервисов, вам нужно либо установить сертификат на компьютере, на котором запущено ваше приложение, либо создать собственный валидатор, который вы можете использовать, чтобы сообщить своему приложению о принятии.самоподписанный сертификат.Начиная с .NET 2.0, настраиваемая проверка SSL выполняется путем указания настраиваемого метода в свойстве ServicePointManager.ServerCertificateValidationCallback .

Пример использования свойства ServerCertificateValidationCallback можно найти здесь: http://weblogs.asp.net/smehaffie/archive/2009/09/10/calling-web-services-that-use-self-signed-certificates.aspx

3 голосов
/ 25 апреля 2011

Это большой вопрос, особенно в отношении безопасности X.509.Обычно с самозаверяющим сертификатом необходимо импортировать исходный ЦС, использованный для подписи этого сертификата (обычно самозаверяющий ЦС, используемый приложением), в вашу связку ключей (чтобы убедиться, что вы подключаетесь к нужному серверу).Обычно это требуется, потому что ваше клиентское приложение будет проверять при подключении, подписан ли сертификат известным и доверенным центром сертификации или совпадает с существующим сертификатом в вашей связке ключей.

В C # вы можете проверить систему .Пространство имен Net.Security и особенно класс SSlStream для получения более подробной информации.

Если вам нужно импортировать сертификат в вашу связку ключей, вы можете использовать различные интерфейсы для доступа к связке ключей из GUI с помощью командной строки "Certutil.exe" или с помощью различных API .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...