如何在自定义validation中调用默认的ServerCertificateValidationCallback?
我想修改.Net的默认ServerCertificateValidationCallback
以validation我公司的一些证书是真的,但保留其他证书的默认validation。
我似乎无法这样做,因为默认的ServerCertificateValidationCallback
值为null。
ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => validCertificatesSerialNumbers.Contains(certificate.GetSerialNumberString()) || defaultlCallback.Invoke(sender, certificate, chain, sslPolicyErrors) //How do I set defaultCallback? ;
谢谢
从我在参考资料中可以看出,这是回调发挥作用的地方:
if (ServicePointManager.ServerCertificateValidationCallback != null) { useDefault = false; return ServicePointManager.ServerCertValidationCallback. Invoke(m_Request, certificate, chain, sslPolicyErrors); } if (useDefault) return sslPolicyErrors == SslPolicyErrors.None;
这意味着validation已经执行并且知道它是否通过您只需要检查sslPolicyErrors
参数。 你会这样做:
上述就是C#学习教程:如何在自定义validation中调用默认的ServerCertificateValidationCallback?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => validCertificatesSerialNumbers.Contains(certificate.GetSerialNumberString()) || (sslPolicyErrors == SslPolicyErrors.None);
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1009549.html