我正在使用python-zeep客户端调用Soap请求。 我使用OpenSSL从.pfx文件中获得了private_key.pem和public_cert.pem。
我也有用户名令牌的用户名和密码。因此,在为wsdl创建客户端时,我同时使用了username_token和wsse的Signature,但是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}
数据已替换
有人可以帮我吗?