Я создаю приложение, которое использует EWS (Exchange Web Service) для перемещения писем. Я могу запустить свое приложение, минуя проверку сертификата. Я использую этот код, чтобы обойти проверку сертификата:Проверка сертификата для клиента
ServicePointManager.ServerCertificateValidationCallback =
delegate(object s, X509Certificate certificate,
X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
return true;
};
Для проверки сертификата я следовал this post, который был очень полезным в поиске сертификата и проверки сертификата.
При использовании этой должности ValidateCert метод метания Exception
chain.ChainPolicy.RevocationMode = X509RevocationMode.Online | X509RevocationMode.Offline;
Исключения:
System.ArgumentException: Illegal enum value: value.
at
System.Security.Cryptography.X509Certificates.X509ChainPolicy.
set_RevocationMode(X509RevocationMode value)
Я использую Visual Studio 2013. Я открыт для любого другого подхода, чтобы сделать та же задача.
Похоже, что пример является неправильным или устаревшим. Перечисление X509RevocationMode нельзя использовать как флаги, просто выберите 1 из трех значений. –
Можете ли вы мне как-нибудь сделать это. –
'X509RevocationMode.Online | X509RevocationMode.Offline' - выберите тот или другой. Если вы выберете «X509RevocationMode.Online», вы можете выполнить DoS-приложение во время загрузки большого CRL (или попытаться загрузить отсутствующий CRL). – jww