解析X509v3证书和PKCS7签名

x509的Python项目详细描述


这是原始项目的分叉:

py3x509 - Python library for parsing X.509 Copyright (C) 2009-2012 CZ.NIC, z.s.p.o. (http://www.nic.cz)

由我更新将模块重命名为“x509”,并仅更新为python3。

Copyright (C) 2017 <siege@siege.org> (https://github.com/cniemira/py3x509)

正在工作!

说明

这可能是python中最完整的x.509证书解析器。

密码在阿尔法阶段!不要用在敏感的东西上。我写的(基于 之前的工作)因为没有全面的python解析器 X.509证书。python程序员常常不得不解析openssl输出。

优势

  • 我发现使用它比解析'openssl x509'的输出更痛苦 与openssl相比,扩展解析更加严格

缺点

  • 它比openssl慢(大约是rhel的openssl-1.0-fips的2.3倍)
  • 目前在rdns中接受的字符串类型不是很严格
  • api仍然相当难看,而且还没有文档;代码在某些方面很糟糕 Places(还有一些像pkcs7/verifier.py这样的挂起的旧代码)

依赖关系

  • Pyasn1=0.1.7

安装

使用pip安装:

pip install py3x509

许可证

lgpl v2或更高版本。

请参阅license.txt。

已知的错误和怪癖

  • 主题替代名称不显示所有子类型, 但支持“dns”、“dirname”和“email”。
  • 名称约束不区分不同的generalname子类型
  • 当以字符串格式放置时,某些扩展不会很好地显示出来
  • 并非所有扩展都受支持
  • 为各种rdn子元素接受的字符串类型过于宽松
  • RDN字符串转换不符合RFC 4514
  • 如果未标记为严重,则忽略格式错误的扩展
    • 易于切换到更严格的行为
    • 其他客户端也这样做;rfc 5280指定未知的行为 附录B.1中的扩展元素,但不包括所有情况(例如 元素存在,但字符串类型与规格不同)

待办事项

  • 清理:这个模块有自己的pyasn1模型。看我们能不能 重用pyasn1_modules.rfc2459 x509 cert模型。
  • 清除:当前,签名验证程序不工作。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JAXB封送字符串,具有xml值,且不转义该值   java ModelMapper转换器不工作   java像HH000412或HCANN000001这样的前缀是什么意思?   验证日期输入修复java。lang.numberformatexception错误   当表具有外键时,java Telosys代码生成失败   如何使所有派生类一起只能实例化一个实例的单例抽象基类?(爪哇)   java如何在非静态服务类中使用广播接收器   java nutch爬虫相对URL问题   使用Jboss DMR下载/保存java附件   Rest模板:无法提取响应:当我们得到xml响应时,没有找到适合响应类型的HttpMessageConverter,没有绑定到JAVA对象   java如何编写可扩展窗格/面板/卡的代码   java是在ITreeViewerListener的treeExpanded()之前调用ContentProvider的getChildren()吗?   java将JComponent添加到小程序窗格   java混淆:使用简单逻辑的Flames程序