什么是用C#处理非验证SSL证书的最佳方式(What is the best way of hand

2019-09-24 07:06发布

我使用下面的代码,以确保所有认证通过,甚至无效的,但我想知道是否有更好的方法,作为本次活动得到全球打来电话,我只想证书通过一定HTTP调用并且不能用于在异步发生的任何其他人。

// This delegate makes sure that non-validating SSL certificates are passed
ServicePointManager.ServerCertificateValidationCallback = delegate(object certsender, X509Certificate cert, X509Chain chain, System.Net.Security.SslPolicyErrors error)
{
   return true;
};

上面的代码只是忽略在证书上的任何非验证的例子。 说我遇到的问题是,它是一个全球性的活动。 我看不到的事件正在发生的这届会议。 我可能有一对夫妇的HTTP请求通过去的,我想询问用户为每个请求的动作。

Answer 1:

怎么样certsender说法? 它是否包含任何明智的,这样你可以告诉回调正在发生什么连接呢? 我查了.NET API,但它并没有说什么说法应该包含...



Answer 2:

那么,你实际上可以刻意去检查一些这些参数。 ;)举例来说,如果你有一个自签名的证书,那么只有让错误== SslPolicyErrors.RemoteCertificateChainError通过。 你也可以查看发布者,姓名等证书本身附加的安全性上。



文章来源: What is the best way of handling non-validating SSL certificates in C#
标签: c# http ssl