2015-10-30 178 views
1

最近,在发送电子邮件我曾面临一个错误:ServicePointManager.ServerCertificateValidationCallback的用途是什么?

远程证书根据使用

验证程序是无效的,我发现了解决这一here其完美地工作,但不要不知道它究竟做了什么。所以,任何人都可以解释我下面的代码实际上做了什么?为什么代码被称为黑客?

代码:

ServicePointManager.ServerCertificateValidationCallback = 
delegate(object s, X509Certificate certificate, 
     X509Chain chain, SslPolicyErrors sslPolicyErrors) 
{ return true; }; 

回答

2

这是一个代表你提供给确定证书是否有效或无效的ServicePointManager。返回true将表示证书始终有效。

您必须知道的这是一个严重的安全隐患。任何人都可以自行签发证书并进行中间人攻击。

+0

这是否需要管理员权限才能运行? –

+0

号为什么要这样?它只是规避了应用程序证书检查。 –

+0

有没有办法阻止“证书自我颁发”? –