我在django港工作asp.net仅使用公钥/私钥对生成和签名xml文档的应用程序。在
我已经成功地复制了xml生成的每个方面,除了签名方面。我找到了signxml库,它似乎允许我这样做,但我不知道如何让它工作。下面是我得到的代码(模仿示例here):
# store keys as strings
cert = open(signprivatepath).read()
key = open(signpublicpath).read()
data = ET.fromstring(docstring)
xmldsig_stuff = xmldsig(data, 'sha1')
signed_root = xmldsig_stuff.sign(
key=key,
cert=cert,
algorithm='rsa-sha1',
c14n_algorithm='http://www.w3.org/TR/2001/REC-xml-c14n-20010315'
)
verified_data = xmldsig(signed_root).verify()
return verified_data
signprivatepath和signpublicpath都是指向PEM格式密钥的路径。在
运行代码时,它返回以下错误:
^{pr2}$有办法吗?我要复制的代码似乎没有使用证书,只是使用私钥本身。还是我错过了什么?在
cert
和key
变量需要是字节数组,因此按以下步骤将其作为字节数组读取然后像之前一样将它传递给
^{pr2}$sign
函数相关问题 更多 >
编程相关推荐