我写一个测试,测试服务,我部署,绕过SSL证书检查我使用的代码段下面实现的SSL覆盖:恢复SSL证书覆盖检查
public static void SSLValidationOverride()
{
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(OnValidationCallback);
}
private static bool OnValidationCallback(object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors errors)
{
if (cert.subject == MyCertSubject)
return true;
else
return false;
}
现在我必须调用另一个webservice在代码中使用ssl,并且希望在调用之前切换到默认的ssl检查。什么是最好的方式来做到这一点。 MS帮助表示ServicePointManager.SecurityProtocol的默认值为空(http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.securityprotocol.aspx)。将它设置为null将切换到默认的ssl验证,并有任何其他方式来做到这一点。
适合我。使用各种情况进行测试(好的和不好的https网址)。 – 2015-05-28 19:32:40