urllib3 自定义 SSL 密钥加密

Urllib3 custom SSL key encryption

在 Python 的 Client Certificates 下的 urllib3 中有一个 key_password 的选项。

目前,我有明文的密钥信息,我想在将其存储到磁盘之前对其进行加密。

实现如下:

http = urllib3.PoolManager(
...     cert_file='/path/to/your/client_cert.pem',
...     cert_reqs='CERT_REQUIRED',
...     key_file='/path/to/your/client.key',
...     key_password='keyfile_password')

但是,我找不到关于密钥支持哪种加密的任何文档。

好的。我想通了。

我使用了AES对称加密来加密密钥。

命令如下:

# openssl rsa -aes256 -in <key-file-in-plaintext> -out <key-file-encrypted>
> openssl rsa -aes256 -in key.pem -out key.pem.encrypted

这会要求您输入密码,然后它会为您创建一个 RSA 密钥。

您可以使用此密码并将其传递给 key_password 命名参数。

Disclaimer: key_password is only supported in 1.25 and above versions of urllib3