xmlsec.InternalError:(1,“签名失败”)

2024-10-03 13:27:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用pythonzeep客户机来调用soap请求。 我使用OpenSSL从.pfx文件中获取了private_key.pem和public_cert.pem

我还有用户名令牌的用户名和密码。因此,在为wsdl创建客户机时,我同时使用username\u令牌和wsse的签名,但是xmlsec没有用错误进行签名 xmlsec.InternalError: (-1, 'failed to sign')

我使用下面的代码创建签名,然后调用客户端

session = Session()
session.verify = "path/to/publiccert.pem"
transport = Transport(session=session)
user_name_token = UsernameToken('username', 'password')
signature = Signature('privatekey.pem', 'publiccert.pem', "password",  
    digest_method=xmlsec.Transform.RSA_SHA1)
client = Client("wsdl_file.xml",
    transport=transport, 
    wsse=[user_name_token, signature])

req_data = {some_data}

数据被替换

有人能帮我吗


Tags: tonametoken客户机sessionusernamepasswordpem