gpt4 book ai didi

c# - 当您知道无效证书是安全的时,测试 X509Certificate.Thumbprint 属性是否安全?

转载 作者:太空狗 更新时间:2023-10-30 00:49:58 25 4
gpt4 key购买 nike

我正在尝试使用 SmtpClient.Send 以编程方式发送电子邮件。我目前在尝试发送电子邮件时收到 AuthenticationException。这是因为证书验证程序失败。

我知道证书是正确的,但我也明白像这样做的建议一样信任所有证书是不安全的:

ServicePointManager.ServerCertificateValidationCallback += 
(sender, certificate, chain, sslPolicyErrors) => { return true; };

所以我想知道为已知的有效证书指纹测试 Thumbprint 是否足够安全,如下所示:

ServicePointManager.ServerCertificateValidationCallback +=
(sender, certificate, chain, sslPolicyErrors) =>
{
if (sslPolicyErrors == SslPolicyErrors.None)
return true;
else if (certificate.GetCertHashString().Equals("B1248012B10248012B"))
return true;

return false;
};

最佳答案

是的。

指纹是证书的 SHA1 哈希,虽然并非绝对不可能,但极难伪造。

在技术方面,目前还没有已知的针对 SHA1 的可行的第二原像攻击。

但是,如果有任何疑问,您可以存储整个证书,也许使用指纹作为 key 。然后您可以将整个证书与您存储的可信证书进行比较。

关于c# - 当您知道无效证书是安全的时,测试 X509Certificate.Thumbprint 属性是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34642606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com