Sequoia 1.0,一个实现OpenPGP标准的库

经过三年半的发展,它已经出版 编辑包 红杉1.0,通过实施OpenPGP标准(RFC-4880)开发命令行工具和功能库。

发射,市场投入 总结了底层API的工作,它实现了足以完全使用的OpenPGP标准的覆盖范围。 项目代码是用Rust编写的,并根据GPLv2 +许可进行分发。

该项目由来自g10code的三名GnuPG贡献者创建, GnuPG插件和密码系统审核的开发人员。 红杉团队还以创建Hagrid密钥服务器而闻名,该服务器由keys.openpgp.org服务使用。

新项目的目标是重新设计体系结构并应用新技术来提高代码库的安全性和可靠性。

为了提高安全性, 红杉不仅使用编程工具 确保他们使用该语言 Rust,而且是API级错误保护.

例如: API不允许您意外导出密钥材料因为默认情况下,导出操作需要明确选择。 此外,API确保在更新数字签名时不会遗漏任何重要步骤; 默认情况下,签名的创建时间,哈希算法和颁发者会自动更新。

红杉 您还试图摆脱GnuPG的不足例如命令行工具的功能与功能库的不同步(某些操作只能使用实用程序执行)以及组件之间的紧密耦合,使得难以进行更改,混淆了代码的基础并防止了建立完整的单位系统。 -测试。

红杉 开发具有Git样式子命令支持的sq命令行实用程序,用于验证单独签名的sqv程序(用于替换gpgv),sqop实用程序(无状态OpenPGP CLI)和sequoia-openpgp库。

有用于C和Python语言的链接。 OpenPGP标准中描述的大多数功能与数字签名的加密,解密,创建和验证兼容。

在高级功能中,应注意的是,它支持使用单独提供的数字签名(单独的签名)进行验证,适应与程序包管理器(APT,RPM,上载等)的集成,通过阈值和时间值限制签名的能力。

为了简化开发,调试和事件分析,提供了数据包检查工具,该工具与分析器集成在一起,可让您直观地分析加密消息,数字签名和密钥的结构。

出于安全原因, 支持使用密码服务,例如用于在隔离区域中进行计算的协处理器。 为了进一步隔离,将使用公钥和私钥的服务划分为多个单独的流程(使用Cap'n Proto协议组织流程的交互)。 例如,密钥库是以单独过程的形式开发的。

有两个API选项: 低水平和高水平。 低级API尽可能地重现了OpenPGP和一些相关扩展的功能,例如ECC支持,公证(签名时签名)以及该标准的未来版本草案的元素。

据观察,根据计划的功能, 红杉一年前就已经准备好1.0版,开发人员决定不急于花更多时间 查找错误并编写完整和高质量的文档,以及指向OpenPGP标准和使用示例中的信息的链接。

到目前为止,版本1.0仅涵盖了sequoia-openpgp框 和sqv数字签名验证实用程序。 “ sq” CLI和高级API尚未稳定并正在最终确定。

计划在将来的版本中删除的限制包括:实现用于存储私钥和公​​钥的服务,对明文数字签名的支持以及使用正则表达式确定可信签名的能力。


本文内容遵循我们的原则 编辑伦理。 要报告错误,请单击 信息.

成为第一个发表评论

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。