Я использую клиент python-zeep для вызова запроса на мыло. Я получил private_key.pem и public_cert.pem из файла .pfx, используя OpenSSL.
У меня также есть имя пользователя и пароль для токена имени пользователя. Поэтому при создании клиента для wsdl я использую и username_token, и Signature for 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}
Данные заменены
Может кто-нибудь помочь мне в этом ???