gpt4 book ai didi

.net - HTTPWebRequest、SSL端点验证和

转载 作者:太空宇宙 更新时间:2023-11-03 13:30:03 25 4
gpt4 key购买 nike

我正在编写一个客户端应用程序,它必须查询一个 URL 并确认用户有权使用该客户端。将其视为一种非常基本的许可机制。服务器上的页面写出一个纯文本字符串,其中包含一些有关用户的信息,用作验证。所有这些都是通过 SSL 完成的。

但是,我有点怀疑这个“系统”是否足够安全。例如,如果我设置 Fiddler 并检查 ServicePointManager.ServerCertificateValidationCallback 中的 SslPolicyError,它会显示为有效。所以,我可以很容易地用 Fiddler 破坏系统。我注意到的是,在这种情况下,X509Certificate 参数持有 Issuer:= ...fiddler2.com现在,我可以检查证书颁发者是否与服务器现在使用的相匹配。但是服务器证书可能会用不同的 CA 续订。如果发生这种情况,我最终将不得不让所有用户安装新客户端:支持噩梦。

我想知道,

这是一个糟糕的设计系统吗?比如,在这种情况下,SSL 是否不足以保证足够的安全性?

我是否尝试错误地验证端点?如果是,什么是进行验证的更好方法?

最佳答案

SSL 提供传输层安全性。因此,在这种情况下,如果您在两者之间有 fiddler,那么您实际上只是针对 Fiddler 而不是针对目标服务器对您的客户端进行身份验证。

此外,如果服务器证书是用不同的 CA 续订的,只要该 CA 在客户端上是可信的,那应该无关紧要。您可以要求用户确认他信任 CA 并将 CA 证书安装到“我的电脑”存储区,在“受信任的根证书颁发机构”存储区下。由于这是一个客户端应用程序,最好将所有此类问题委托(delegate)给用户,您的应用程序可以只做核心工作,即从服务器获取 token 。

如果您不想与用户交互,那么您可以编写客户端代码,使其不关心证书颁发者是谁,只要证书上的名称与您正在与之通信的服务器的域名匹配即可.

希望对您有所帮助。

关于.net - HTTPWebRequest、SSL端点验证和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1988012/

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