python - 如何使用客户端证书从 python 发出休息调用请求(在 Windows 中)

标签 python windows python-2.7 client-certificates

我正在尝试在 Python (2.7) 中对 tomcat 服务器进行 RESTfull 调用,并且必须使用带有客户端证书的 SSL 来完成。

下面一行是对tomcat的调用是如何完成的:

result = requests.get(url, headers=headers, verify=settings.SLA_CA_SERVER_CERTIFICATE, cert=(settings.SLA_CLIENT_CERTIFICATE_PUBLIC, settings.SLA_CLIENT_CERTIFICATE_PRIVATE), **kwargs)


我收到以下错误:
[Errno 336265225] _ssl.c:355: error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib ()

我试过在 cert 变量 .pem 文件和 .key.crt 文件中使用没有运气。私钥没有密码。知道为什么会出现此错误吗?

非常感谢

最佳答案

我在 Windows 中使用 openssl 从 .p12 文件创建公钥和私钥。 我使用 linux (ubuntu) 中的 openssl 创建了它们并且它有效。

仅供引用,用于创建 key 的命令在哪里

openssl pkcs12 -in path.p12 -out newfile.crt.pem -clcerts -nokeys    
openssl pkcs12 -in path.p12 -out newfile.key.pem -nocerts -nodes

关于python - 如何使用客户端证书从 python 发出休息调用请求(在 Windows 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26365544/

相关文章:

python - PyParsing : how to use SkipTo and OR(^) operator

python - Django AllAuth 给出 SSLError

python - 你如何在 Appengine 上使用 xlrd 读取 excel 文件

c++ - 在 Windows 上设置 midiIO 库

c++ - 打开具有调试权限和读/写内存的进程

c - 将文本写入 C : Ctrl + D doesn't work on Windows 中的文件

python-2.7 - Python - 从 .svg 文件中读取矩形

python - 在python标准库中寻找方法

python - 在 python 中使用有序字典作为对象字典

python - 这个递归在 python 中是如何工作的?