Python signxml-扩展签名

时间:2018-07-13 18:39:28

标签: python

api文档说:

  

要指定封装签名在数据中的位置,请插入   数据中的<Signature Id="placeholder"></Signature>元素。这个   元素将由生成的签名替换,并在   生成摘要。

但是在输出xml中:

<QuoteWerksXML xmlns:ns0="http://www.w3.org/2000/09/xmldsig#">
<AppVersionMajor>5.1</AppVersionMajor>
<Signature Id="placeholder" />
<ns0:Signature>
<ns0:SignedInfo>
<ns0:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<ns0:SignatureMet

未使用我的标签<Signature Id="placeholder" />

这是我的python代码:

signed_root = XMLSigner(signature_algorithm='rsa-sha1',digest_algorithm = 'sha1', c14n_algorithm = 'http://www.w3.org/TR/2001/REC-xml-c14n-20010315').sign(root_prueba, key=key, cert=cert)

with open('xml_firmado.xml','wb') as f:
    f.write(ET.tostring(signed_root))
    f.close()

我应在哪里放置元素<Signature>

谢谢!

0 个答案:

没有答案