我如何使用 Certificate.loadPem 发送 post 而无需验证?
how do i send post without verification using Certificate.loadPem?
我正在尝试向应用了 SSL 的守护程序发送 post 请求。我想同时通过 SSL 验证和使用 SSL 加密,这是我发现的:
- 验证=假
但我在 twisted agent.request.
中找不到类似的
使用 twisted.web.client.Agent.__init__
的 contextFactory
参数控制 TLS 行为。
此参数的值应提供 twisted.web.iweb.IPolicyForHTTPS
。该接口定义了一个方法(creatorForNetloc
),用于建立TLS连接。
Twisted 包含此接口的一个独特实现,它实现了与大多数现代网络浏览器所使用的策略类似的策略。
您可以创建自己的实现来执行其他操作,例如忽略证书验证错误 - 即使在 per-host 基础上 - 或者添加自定义信任根之类的操作,这样您仍然可以验证证书而不需要它由证书颁发机构颁发。
twisted.internet.ssl.optionsForClientTLS
对于在 creatorForNetloc
中实现某些行为很有用 - 但是它不支持完全忽略所有验证错误。为此,您可能会受益于使用 twisted.internet.ssl.ClientTLSOptions
,它接受控制其大部分行为的任意 OpenSSL.SSL.Context
实例。
OpenSSL.SSL.Context
让您可以控制在将 TLS 与 Twisted 结合使用时可以控制的几乎所有 OpenSSL 功能 - 包括忽略验证错误,如果这是您真正需要的。
最直接的方法是使用 Context.set_verify
和适当定义的函数。
我正在尝试向应用了 SSL 的守护程序发送 post 请求。我想同时通过 SSL 验证和使用 SSL 加密,这是我发现的:
- 验证=假
但我在 twisted agent.request.
中找不到类似的使用 twisted.web.client.Agent.__init__
的 contextFactory
参数控制 TLS 行为。
此参数的值应提供 twisted.web.iweb.IPolicyForHTTPS
。该接口定义了一个方法(creatorForNetloc
),用于建立TLS连接。
Twisted 包含此接口的一个独特实现,它实现了与大多数现代网络浏览器所使用的策略类似的策略。
您可以创建自己的实现来执行其他操作,例如忽略证书验证错误 - 即使在 per-host 基础上 - 或者添加自定义信任根之类的操作,这样您仍然可以验证证书而不需要它由证书颁发机构颁发。
twisted.internet.ssl.optionsForClientTLS
对于在 creatorForNetloc
中实现某些行为很有用 - 但是它不支持完全忽略所有验证错误。为此,您可能会受益于使用 twisted.internet.ssl.ClientTLSOptions
,它接受控制其大部分行为的任意 OpenSSL.SSL.Context
实例。
OpenSSL.SSL.Context
让您可以控制在将 TLS 与 Twisted 结合使用时可以控制的几乎所有 OpenSSL 功能 - 包括忽略验证错误,如果这是您真正需要的。
最直接的方法是使用 Context.set_verify
和适当定义的函数。