红杉,一个实现OpenPGP标准的库

红杉 是功能库和命令行工具包实施OpenPGP标准 (RFC-4880),此库由GnuPG项目的三名成员开发,他们决定创建一个新的OpenPGP免费实现。 以Rust语言来提高代码库的安全性和可靠性, 提供了可安全使用内存的工具。

除了提高安全性,红杉 它也试图摆脱GnuPG中的故障,如果不破坏兼容性或对代码库进行大量修改,就无法在主项目中对其进行修复。

例如: GnuPG在组件之间紧密耦合,因此很难进行更改, 它混淆了代码库,使创建完整的单元测试系统变得困难。 gpupg命令行工具包在功能上未与功能库同步,某些操作只能通过实用程序执行。

红杉 引入了带有Git样式子命令支持的sq命令行实用程序 和两个API选项:低级和高级。 有用于C和Python语言的链接。

大部分功能 在标准中描述 OpenPGP支持加密,解密,创建和验证数字签名。

在高级功能中, 据观察,它承认 通过单独提供的数字签名进行验证, 适应与包裹管理器(APT,RPM,货物等)的集成,具有通过阈值和时间限制签名的能力。

低级API复制 尽可能忠实地 OpenPGP的功能和一些相关的扩展, 例如ECC支持和该标准未来版本的草案元素。 唯一的例外是规范的继承部分,可能会对安全性产生负面影响,例如MD5哈希支持。

低级API 还支持无缓冲消息处理。 低级API已经非常接近于OpenPGP标准的完整覆盖范围,并且可以在低级上操作OpenPGP数据(即将推出稳定的1.0版)。

另一方面, 高级API仍在开始发展 到目前为止,它仅涵盖公共密钥存储和通过网络访问等功能。 随着项目的发展,将添加其他特定于域和支持的功能。

埃尔帕克特 还提供了功能强大的包装检查工具 可以在事件开发,调试和分析期间使用。 检测工具与分析仪集成在一起,以可视化方式分析加密消息,数字签名和密钥的结构。

现在 红杉支持的平台是Linux,FreeBSD,Windows,macOS,Android和iOS, 另外,可以使用平台提供的加密服务作为协处理器,用于隔离区域中的计算。

为了提供额外的隔离,通常将使用公钥和私钥的服务分离到单独的进程中。 例如,密钥库是以单独过程的形式开发的。 Cap'n Proto协议用于流程交互。

最后,值得一提的是 最近发布了一个新版本 的版本,最新版本是 红杉0.20.0 在其中 se 添加sequoia-openpgp包 低级程序 sqv(用于gpgv的替换)以验证单独的签名 以及带有无状态OpenPGP CLI实现的sqop实用程序。

Rust语言的要求已提高到1.46版,并且扩展了使用持续集成系统检查更改的方法,并且改进了OpenPGP兼容性测试套件。

如果您想了解更多 关于这个图书馆,您可以在其官方网站上查看详细信息 在下面的链接中。


发表您的评论

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

*

*

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