如何使用 python 使用 SHA1withRSA 和 PKCS12 标准对 XML 节点进行签名

问题描述

我收到了需要使用 PKCS12 标准的 API 和证书,以及使用 SHA1withRSA 散列获得的签名,然后将结果编码为 base64。

Bellow 是我尝试过的方法,我想我没有满足上述签名生成的所有 API 文档要求。

我想获得使用 python 的帮助。

from OpenSSL import crypto
from lxml import etree
reg = etree.Element("REGDATA")
tin = etree.SubElement(reg,"TIN")
certKey = etree.SubElement(reg,"CERTKEY")
tin.text = "111111111"
certKey.text = "10TZ111111"
xmlData = etree.tostring(reg).decode('utf-8')

p12 = crypto.load_pkcs12(open("vfd_MOJAONE.pfx",'rb').read(),certpw.encode())
x = crypto.sign(pkey=p12.get_privatekey(),data=xmlData.encode('utf-8'),digest="SHA1")
print(base64.b64encode(x).decode('utf-8'))

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)