Python Signxml验证失败

Python Signxml验证失败,python,digital-signature,xml-signature,Python,Digital Signature,Xml Signature,我有一个场景,我必须签署一些数据,并通过TCP套接字将其发送给客户端 所以在服务器上,我使用xmlsign对其进行签名,并将其作为字符串发送 #in server signed_xml_obj = XMLSigner().sign(root, key=PRIVATEKEY) xml_str = ElementTree.tostring(signed_xml_obj) #sendtoclient(xml_str) 而不是在客户端a中从字符串创建ElementTree.Element并尝试验证它,

我有一个场景,我必须签署一些数据,并通过TCP套接字将其发送给客户端

所以在服务器上,我使用xmlsign对其进行签名,并将其作为字符串发送

#in server
signed_xml_obj = XMLSigner().sign(root, key=PRIVATEKEY)
xml_str = ElementTree.tostring(signed_xml_obj)
#sendtoclient(xml_str)
而不是在客户端a中从字符串创建ElementTree.Element并尝试验证它,但失败

#somewhere in client
signed_xml_obj = ElementTree.fromstring(signiautreString)
XMLVerifier().verify(signed_xml_obj, x509_cert=cer)
回溯

    Traceback (most recent call last):
  File "/eltioni/.local/lib/python3.7/site-packages/signxml/__init__.py", line 729, in verify
    verify(signing_cert, raw_signature, signed_info_c14n, signature_digest_method)
  File "/usr/lib/python3/dist-packages/OpenSSL/crypto.py", line 2928, in verify
    _raise_current_error()
  File "/usr/lib/python3/dist-packages/OpenSSL/_util.py", line 54, in exception_from_error_queue
    raise exception_type(errors)
OpenSSL.crypto.Error: [('rsa routines', 'int_rsa_verify', 'bad signature')]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "sig.py", line 15, in <module>
    XMLVerifier().verify(xml2, x509_cert=cert)
  File "/eltioni/.local/lib/python3.7/site-packages/signxml/__init__.py", line 735, in verify
    raise InvalidSignature("Signature verification failed: {}".format(reason))
signxml.exceptions.InvalidSignature: Signature verification failed: bad signature
回溯(最近一次呼叫最后一次):
文件“/eltioni/.local/lib/python3.7/site packages/signxml/_init__.py”,第729行,在verify中
验证(签名证书、原始签名、签名信息、签名摘要方法)
文件“/usr/lib/python3/dist packages/OpenSSL/crypto.py”,第2928行,在verify中
_引发当前错误()
文件“/usr/lib/python3/dist packages/OpenSSL/_util.py”,第54行,在错误队列的异常中
引发异常类型(错误)
OpenSSL.crypto.Error:[(“rsa例程”、“int\u rsa\u验证”、“错误签名”)]
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“sig.py”,第15行,在
xmlvifier().验证(xml2,x509_cert=cert)
文件“/eltioni/.local/lib/python3.7/site packages/signxml/_init__.py”,第735行,在verify中
引发无效签名(“签名验证失败:{}”。格式(原因))
signxml.exceptions.InvalidSignature:签名验证失败:签名错误
我还注意到,当我在服务器中打印签名的xml对象时,我得到

print(signed_xml_obj)
#<Element Student at 0x7ff94085f188>
打印(已签名的xml\u obj)
#
当我在客户端打印签名的xml对象时,我得到了“学生”(带引号)

打印(已签名的xml\u obj)
#

提供回溯提供回溯
print(signed_xml_obj)
#<Element 'Student' at 0x7ff94085f188>