-1

我有 SSL 连接。如果我使用 feddler 或 Charles 应用程序,我可以看到解密的 SSL 数据。我怎样才能防止这个错误?

更新:我没有为 Charles 导入证书,我的 android 设备已植根,我使用 Proxy Droid 应用程序并允许不受信任的应用程序。进行此操作后,我可以看到解密的数据。我想阻止这个错误...

Update2:我使用类 EasyX509TrustManager.java (apache) 来检查证书。您可以看到 void checkServerTrusted。如果我使用“certificates[0].checkValidity();” - 证书始终有效,但如果我使用“standardTrustManager.checkServerTrusted(certificates, authType);” - 证书可以是有效的(charles 关闭)或无效(charles)。没有“证书[0].checkValidity();” 它工作正常,但我不确定这是否正确。

4

1 回答 1

0

如果您还没有导入 Charles 或 Fiddler 的证书并且您仍然看到来自您的设备的流量,这意味着您没有正确使用 HTTPS。您需要配置您的代码,以便它对用于保护 HTTPS 连接的证书执行正确的链检查。在大多数语言/框架堆栈中,这会自动发生,您必须不妨碍覆盖它。

您使用什么语言/框架,以及您使用什么对象来发送请求?

如果您已将调试器的证书导入设备,则默认情况下大多数语言/框架将认为它是受信任的。为防止这种情况发生,您的代码在允许通信继续之前大多数手动评估来自服务器的证书链。这种技术称为“证书固定”。

于 2013-05-20T21:28:23.263 回答