如何使用python xmlsign更改<transform>算法

2024-04-26 17:16:19 发布

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

我有以下代码来签署xml

el = ET.parse('indias.xml',parser)
ET.register_namespace('', "http://www.w3.org/2000/09/xmldsig#");
root = el.getroot()
cert = open("publiccert.pem").read()
key = open("privatekey.pem").read()
signed_root = XMLSigner(method=signxml.methods.detached,
                        signature_algorithm='rsa-sha1',
                        c14n_algorithm='http://www.w3.org/TR/2001/REC-xml-c14n-20010315',
                        digest_algorithm="sha1").sign(root, key=key,cert=cert,reference_uri=laweadeluri,always_add_key_value=True,)
tree = ET.ElementTree(signed_root)

使用中的算法生成签名

<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />

我的问题是我需要算法

<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />

我已经尝试了几种方法,但都没有成功。我请求您的帮助 我的英语很基础,所以我为我的错误道歉