How to Encrypt outgoing https requests
有没有办法完全加密从软件到服务器的传出 HTTPS 请求?我的意思是有像 Charles 和 Fiddler 这样的应用程序可以捕获 HTTPS 流量并查看诸如标头、URL 等所有内容…
我不希望任何人看到或捕获来自我的应用程序的流量。
我正在使用 Delphi 10.1 VCL App
- 相关的 stackoverflow.com/q/10808930/8041231。这听起来更像是 security.stackexchange.com 的问题。
- 您当然可以尝试通过拦截代理来加密内容以防止窃听,但问题是您将加密密钥放在哪里?它需要在客户端上可用,并且黑客通常不太难找到该密钥。你的努力会提高温和地破解它的标准,但不会提高很多。 SSL pinning 是另一种可以用来减缓攻击者窃听 TLS 通信的方法。
如果您使用 HTTPS 并且像浏览器一样正确验证证书,则中间人无法查看 URL 或标头或内容。他们只能看到您正在与哪个服务器通信。
Charles 解决此问题的方法是它提供自己的非正版证书,该证书不会验证,并代理通信。如果您的应用正在验证证书,它将拒绝与 Charles 代理通信。如果您使用 Web 浏览器查看 Charles 代理,则会显示 SSL 证书错误。
如果您信任特定的 Charles 代理并希望在您的客户端或浏览器中添加例外,您可以。但它只允许那个特定的 – 这并不意味着其他任何人都可以使用他们自己的 Charles 代理或类似代理来拦截您的 HTTPS,或读取 URL 等。
来源:https://www.codenong.com/44380108/