纯Python XML安全
项目描述
python XML安全
这是XML-Security的Python实现 - 目前仅支持XML-DSIG。除了lxml和pyca/cryptography外,没有其他依赖项。
此代码受https://github.com/andrewdyates/xmldsig的启发(此实现是对该实现的重构和扩展),并在旧版本中包含由Andrew Yates编写的纯Python RSA实现https://github.com/andrewdyates/rsa_x509_pem,并经Andrew Yates许可。现在,加密原语由pyca/cryptography提供(https://cryptography.io)。
要使用PKCS#11模块进行签名,您需要安装pykcs11(http://www.bit4id.org/pykcs11/)
此软件包在NORDUnet BSD许可证下可用(参见图LICENSE.txt)
限制
仅支持使用PKCS1.5填充的RSA-SHA1/256/512签名
无加密支持
有些限制可能会得到解决。欢迎提供补丁和pull请求!
新闻
0.1
发布日期: 未发布
这是代码的第一个未发布版本
0.2
发布日期:Mon Aug 27 12:42:45 CEST 2012
更健壮的算法URI解析
支持“#”样式的ID
对包含子元素的<.Transform/>元素的局部支持
将所有异常转换为XMLSecException
第一稿:签名
各种清理
0.3
发布日期:Tue Aug 28 09:46:47 CEST 2012
处理“#”样式的引用(删除顶级注释和PI)
不要转义“&”、“<”和“>”
不要向c14n提供空的包含命名空间前缀列表
将异常移动到单独的文件中
PKCS11仿真层的第一个版本
0.4
发布日期:Wed Aug 29 12:43:05 CEST 2012
开始测试
清理PKCS11层
各种错误修复和清理
0.5
发布日期:Wed Sep 5 11:52:58 CEST 2012
修复使用非p11密钥签名的错误
更健壮的PEM展开
0.6
发布日期:Fri Nov 30 10:29:03 CET 2012
允许将Reference@URI作为参数传递
0.7
发布日期:Mon Feb 4 15:53:32 CET 2013
小修复
0.8
发布日期:Wed Apr 3 09:05:53 CEST 2013
多个错误修复
更多的SAML和P11测试用例
0.9
发布日期:Mon Jun 24 11:24:20 CEST 2013
错误修复
防止包装攻击的保护(新的API!)
0.10
发布日期:Thu Sep 12 20:16:04 CEST 2013
修复PEM解析器错误
切换到语义版本控制
0.11
发布日期:Fri Oct 11 17:06:53 CEST 2013
更好地控制签名元素的位置
0.12
发布日期:Wed Dec 4 15:00:29 CET 2013
使用pyconfig来控制配置参数
支持sha2算法
c14n的几个错误修复
0.13
发布日期:lör 22 mar 2014 10:44:49 CET
与pkcs#11相关的各种Unicode修复
除非安装了OpenSC,否则跳过某些测试
如果存在,则使用现有的SignatureValue
来自Fredrik T和Maya W的各种修复
0.14
发布日期:Mon Dec 1 08:58:54 CET 2014
添加对C_Initialize的显式调用
各种错误修复 - 来自Fredrik T
允许调用者控制会话关闭
0.15
发布日期:mån 16 nov 2015 13:40:26 CET
xmlsign:一个简单的签名命令行工具
在验证时可选地删除签名
在p11情况下避免记录密钥大小
在pyasn1解析器周围放置锁
使证书加载线程安全
错误修复
0.16
发布日期:ons 13 dec 2017 21:10:29 CET
加密抽象
切换到sha256默认值
验证和签名命令行工具
大量错误修复
0.17
发布日期:tor 14 dec 2017 12:27:48 CET
修复base64错误
修复命令行验证序列化中的错误
0.18
发布日期:fre 25 maj 2018 19:43:54 CEST
修复影响sha512的验证错误
0.19
发布日期:tis 22 jan 2019 13:53:49 CET
python3兼容性
修复私钥泄漏问题
P11修复
测试改进
0.20
发布日期:tis 10 sep 2019 19:41:58 CEST
更多的p3兼容性
0.21
发布日期:ons 19 feb 2020 16:21:05 CET
为xmlsign工具添加设置签名位置的命令行参数
0.30
发布日期:ons 28 Feb 2023 16:51:25 CET
添加对非RSA和非PKCS1 v1.5填充的支持
改进日志记录
删除python3
mgf1验证修复
避免在缺少指纹时出错 - 验证所有签名
修复MutableMapping的导入
1.0.0
发布日期:tor 24 aug 2023 14:08:17 CEST
支持XML签名的PKIX链验证
支持python 3.10
开始使用语义版本控制