gpt4 book ai didi

ssl - 如何使用 OpenSSL 验证 GPG 签名

转载 作者:太空宇宙 更新时间:2023-11-03 13:12:08 25 4
gpt4 key购买 nike

我编写了一个简单的跨平台实用程序来使用 gpgme 验证 GPG 签名.然而,gpgme 在 Windows 和其他平台(例如 osx)上工作得不是很好,它需要安装 GnuPG 命令行实用程序,这是一个非常严重的依赖性。我也查看了其他 openpgp 库,例如 netgpg但它们的便携性更差(它确实必须使用 mingw-w64 构建)。

是否有可能实现一个独立的工具来验证 GPG 签名只使用标准库,如 openssl 和 zlib?据我了解,openpgp 由标准密码和哈希函数组成。是什么让这件事变得如此困难,以至于没有好的 C 库可以做到这一点?

最佳答案

OpenSSL 没有实现 OpenPGP 格式并且不兼容。使用 OpenPGP 实现,例如 GnuPG、BouncycaSTLe(可用于 Java/C# 的框架)或其他(用于 JavaScript 的 OpenPGP.js,还有一个 Go 库)。

虽然 OpenPGP 使用标准的密码摘要和加密算法,但它有不同的消息格式,尤其是使用它自己的 CFB mode variant .您必须为 OpenPGP 消息格式实现解析器并与 OpenPGP CFB 模式兼容(如果您想支持加密),最后将结果传递给 OpenSSL 以进行实际加密。

最后,支持包括完整 OpenPGP 规范在内的整个信任网络概念是一项广泛的任务,需要考虑各种问题([1][2]、...)。在 unix 世界中,人们似乎对 GnuPG 和 GPGME 很满意,它们针对甚至非常高级的安全问题(例如,this side channel attack)进行了深入测试和分析。新的实现很可能容易受到 GnuPG 已经解决的类似问题的影响。

关于ssl - 如何使用 OpenSSL 验证 GPG 签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31456541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com