使用pgp密钥的xmlenc和xmldsig xml加密和签名
xmlsec_pgp的Python项目详细描述
能够使用pgp密钥加密xml并向文档添加xml签名。
需要以下Python库:
- xmlsec
- pgpy
- 密码学
xmlsec_pgp提供替换signatureContext(),encryptionContext() 以及keysmanager(),它可以接受pgpy密钥,然后可以签名、验证, 正常加密和解密。
还有一个调用xmlsec_pgp.add_pgp_data(key_info_node)要进行 <PGPData>标记,用pgp密钥id和pgp公钥填写。
这个规范的实现似乎很少,所以 互操作性测试很少,欢迎反馈。
libreoffice使用pgp+xmldsig实现文档签名,但是 签名似乎无法使用此模块或使用^{tt4}进行验证$ 命令行工具(和一个合适的pem编码的公钥来桥接这个缺口)。 需要更多的调查来确定问题是否在 libxmlsec处理文档,或者libreoffice文档格式是否为 对签名格式编码不正确,导致不匹配。
这个软件是根据麻省理工学院的许可证授权的。请看附件 LICENSE文件。