Python 的 requests-pkcs12
库是一个插件,它为 requests
库增加了对 PKCS#12 文件的支持。PKCS#12文件是一种包含证书、私钥和可能的CA证书的容器,常用于客户端证书认证。requests-pkcs12
允许用户在发起HTTPS请求时直接使用PKCS#12文件进行身份验证,简化了客户端证书的处理过程,提高了代码的安全性和便捷性。
pip install requests-pkcs12
包 | 包中文名 | 释义 | 跳转 |
---|---|---|---|
requests-pkcs12==1.25 | / | / | |
├── cryptography [required: >=42.0.0, installed: 43.0.1] | / | Cryptography是Python的加密库,提供加密、解密、签名、验证和密钥生成等功能。 | / |
│ └── cffi [required: >=1.12, installed: 1.17.1] | / | CFFI是Python的一个外部函数接口库,用于调用C代码,支持自动生成C绑定。 | / |
│ └── pycparser [required: Any, installed: 2.22] | / | pycparser是一个Python库,用于解析和抽象语法树生成C语言代码。 | / |
└── requests [required: >=2.26.0, installed: 2.32.3] | / | Requests是Python的HTTP库,用于发送各种HTTP请求,支持持久连接、会话、Cookies、代理等。 | 第三方库 - requests - 请求库 |
├── certifi [required: >=2017.4.17, installed: 2024.8.30] | / | certifi 是 Python 的证书认证库,提供 Mozilla 可信任的 CA 证书集合。 | / |
├── charset-normalizer [required: >=2,<4, installed: 3.3.2] | / | charset-normalizer 是一个用于自动检测和规范化文本编码的 Python 库。它可以自动检测文本编码,然后将其转换为 Unicode 格式,以方便进行处理。 | / |
├── idna [required: >=2.5,<4, installed: 3.10] | / | idna是Python库,用于处理国际化域名(IDN)的编码和解码。 | / |
└── urllib3 [required: >=1.21.1,<3, installed: 2.2.3] | / | urllib3是一个强大的Python HTTP客户端库,支持连接池、文件上传、长连接、HTTP/HTTPS等。 | 第三方库 - urllib3 - 请求库 |
import requests_pkcs12
resp = requests_pkcs12.post('https://www.example.com/path', data='payload', pkcs12_filename='server.pfx', pkcs12_password='password', verify=False)
pkcs12_filename 就是p12文件路径
pkcs12_password就是密码
若需要对响应包进行验证,则需要给 verify 传参