【问题标题】:How does urllib3 determine which TLS extensions to use?urllib3 如何确定使用哪些 TLS 扩展?
【发布时间】:2020-12-06 18:29:12
【问题描述】:

我想用 python 修改我在客户端 Hello 数据包中发送的扩展。 我已经阅读了 GitHub 上为 urllib3 找到的大部分源代码,但我仍然不知道它是如何确定要使用哪些 TLS 扩展的。 我知道这将是相当低的级别,并且 urllib3 的创建者可能只是导入另一个包来为他们执行此操作。如果是这种情况,他们使用哪个包? 如果不是,这是如何确定的? 提前感谢您的任何帮助。

【问题讨论】:

  • urllib3 是做什么的?它与 C 有什么关系?
  • urllib3 用于在 python 中发出 http 请求,它比比 urllib3 更流行的 requests 库提供更多控制,因为它更易于使用。它与 c 有关,因为您无法在 python 中访问扩展、椭圆曲线等,因此 c 代码必须包装在 python 代码中才能访问客户端 hello 数据包中的这些字段。我意识到我实际上并没有在其中标记 python,所以我将删除 c 标记并将其替换为 python 以避免进一步的混淆。

标签: python ssl httpclient tls1.2 urllib3


【解决方案1】:

urllib3 中的 HTTPS 支持使用了使用 openssl C 库的 ssl 包。 ssl 除了在 TLS 握手中设置主机名(即 server_name 扩展又名 SNI)之外,不提供任何直接修改 TLS 扩展的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2015-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-25
    • 1970-01-01
    相关资源
    最近更新 更多