python 证书-Python 发送带自签名证书的 https 请求

本文介绍了如何在Python中使用requests-pkcs12库、requests库以及httplib模块进行HTTPS请求,特别是当拥有.pfx文件及其密码时。内容包括忽略服务器响应包签名认证的方法,以及如何从.pfx文件转换出.crt和.key文件。
摘要由CSDN通过智能技术生成

在拥有 .pfx 文件和其密码(若有加密)的前提下进行 https 请求

(关于这些文件的说明,参考:https://blog.51cto.com/wushank/1915795);

所有方法均忽略了服务器响应包的签名认证,即只对请求使用自签名证书进行加密。

1. requests-pkcs12 使用 .pfx

pip install requests-pkcs12

import requests_pkcs12

resp = requests_pkcs12.post('https://www.example.com/path', data='payload', pkcs12_filename='server.pfx', pkcs12_password='password', verify=False) # 若需要对响应包进行验证,则需要给 verify 传参

2. requests 使用 .crt 和 .key

import requests

resp = requests.post('https://www.example.com/path', data='payload', cert=('example.crt', 'example.key'), verify=False) # 若需要对响应包进行验证,则需要给 verify 传参

example.key 和 example.crt 由 .pfx 文件使用 openssl 转换而来(若 pfx 有密码则会提示输入密码):

openssl pkcs12 -in example.pfx -nocerts -nodes -out example.key

openssl pkcs12 -in example.pfx -clcerts

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值