我试图在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:错误:140B0009:SSL例程:SSL_CTX_use_PrivateKey_file:PEM lib()
我尝试使用 cert 变量 .pem 文件和 .key 和 .crt 文件,没有运气。私钥没有密码。我有这个错误的任何线索?
非常感谢
答案 0 :(得分:3)
我在Windows中使用openssl从.p12文件创建公共证书和私钥。 我使用linux和ubuntu中的openssl创建它们并且它有效。
只是提供信息,用于创建键的命令
openssl pkcs12 -in path.p12 -out newfile.crt.pem -clcerts -nokeys
openssl pkcs12 -in path.p12 -out newfile.key.pem -nocerts -nodes