尝试访问资源自定义证书和请求时出现 SSLError("bad handshake")

2024-03-12

我想使用 Zeep 对 Web 服务进行编程以在 Python 中交换数据。我只能使用我的证书访问服务。我有一个 PFX 证书,但我将其转换为两个.pem files.

My code:

from zeep import Client
from zeep.wsse.signature import Signature 
import requests
from requests import Session
key_filename ='/.files/cert.key.pem'
cert_filename = './files/cert.crt.pem'
session = Session()  
r = requests.get('https:...../PingWs?wsdl',
             cert=(cert_filename, key_filename)) 
print (r)

但我得到

> raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='evidim-test.gov.si', port=443):
Max retries exceeded with url: /ws/test/PingWs?wsdl
(Caused by SSLError(SSLError("bad handshake: Error([('SSL routines',
'tls_process_server_certificate', 'certificate verify failed')],)",),))

您必须通过将用于签署您尝试从系统设置连接到的远程服务器证书的 CA 证书列入白名单来解决这个问题。但仅出于测试目的,您可以使用以下方法关闭验证:

r = requests.get('https:...../PingWs?wsdl',verify=False)

不要在生产中使用它。

希望能帮助到你!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试访问资源自定义证书和请求时出现 SSLError("bad handshake") 的相关文章

随机推荐