【问题标题】:How to Encrypt outgoing https requests如何加密传出的 https 请求
【发布时间】:2017-11-06 21:15:59
【问题描述】:

有没有办法完全加密从软件到服务器的传出 HTTPS 请求?我的意思是有像 Charles 和 Fiddler 这样的应用程序可以捕获 HTTPS 流量并查看诸如标头、URL 等所有内容... 我不希望任何人看到或捕获来自我的应用程序的流量。 我正在使用 Delphi 10.1 VCL 应用程序

【问题讨论】:

  • 相关stackoverflow.com/q/10808930/8041231。这听起来更像是security.stackexchange.com 的问题。
  • 您当然可以尝试通过拦截代理来加密内容以防止窃听,但问题是您将加密密钥放在哪里?它需要在客户端上可用,并且黑客通常不太难找到该密钥。你的努力会提高温和地破解它的标准,但不会提高很多。 SSL pinning 是另一种可以用来减缓攻击者窃听 TLS 通信的方法。

标签: http delphi encryption delphi-10.1-berlin


【解决方案1】:

如果您使用 HTTPS 并且像浏览器一样正确验证证书,则中间人无法查看 URL 或标头或内容。他们只能看到您正在与哪个服务器通信。

Charles 解决此问题的方法是它提供自己的非正版证书,该证书不会验证,并代理通信。如果您的应用正在验证证书,它将拒绝与 Charles 代理通信。如果您使用 Web 浏览器查看 Charles 代理,则会出现 SSL 证书错误。

如果您信任特定的 Charles 代理并希望在您的客户端或浏览器中添加例外,您可以。但它只允许那个特定的 - 这并不意味着其他任何人都可以使用他们自己的 Charles 代理或类似代理来拦截您的 HTTPS,或读取 URL 等。

【讨论】:

    猜你喜欢
    • 2012-04-20
    • 2020-10-18
    • 2020-08-26
    • 2017-01-12
    • 1970-01-01
    • 2015-04-14
    • 1970-01-01
    • 2019-11-28
    • 1970-01-01
    相关资源
    最近更新 更多