Я загружаю файлы с сервера FTPS, и сервер отправляет мне сертификат обратно.
Microsoft заявляет:
Если пользовательская проверка не используется, имя сертификата сравнивается с именем хоста, использованным для создания запроса. Например, если Create (String) был передан параметр "https://www.contoso.com/default.hmtl",", по умолчанию клиент проверяет сертификат на www.contoso.com.
Сертификат не проходит проверку по умолчанию (RemoteCertificateNameMismatch). Прямо сейчас я использую делегат ServicePointManager.ServerCertificateValidationCallback и предоставляю делегат, который возвращает true, просто «для прохождения» без проверки. Как проверить сертификат с помощью C #?
Один из параметров рассмотренного выше delgate, сертификат X509Certificate, содержит два открытых свойства, представляющих интерес: Issuer и Subject. Ни одно из двух свойств не содержит данных, соответствующих имени хоста.