我正在构建一个.net应用程序,我想让网络电话足够安全,通过类似提琴手的东西来监控流量并不容易。我希望能够知道来自服务器的证书不符合预期,然后永远不会发出包含请求数据的完整请求。
Twitter的iOS应用就是这样做的。我认为有人必须以某种方式复制twitter的https证书并制作该fiddler的证书。我自己没有这样做,但我认为这就是我理解它的方式。您在fiddler中看到的是隧道已经创建,但实际上没有提出任何请求。如果您没有在设备上安装fiddler的HTTPS证书并且打开浏览器google.com /会创建隧道,然后浏览器知道“不受信任的服务器”并向用户显示消息,则会出现相同的情况。我想让它更安全,只允许1证书/我的服务器证书。
有意义吗?我想我想出了如何做一个单独的完整虚拟请求/但这并不理想。
答案 0 :(得分:3)
您要问的是“如何在我的客户端应用程序中实施证书固定?”
这样做的方法是在负责发出HTTPS请求的服务点上附加a validation callback。您的验证回调将覆盖默认行为(“接受Windows信任的任何证书”),而是验证收到的证书是否恰好是您期望的证书。
现在,在你走这条路之前,请记住以下几点: