C++ 自定义 pinentry 包装器

标签 c++ gnupg gpgme

我正在尝试编写一个使用 gpg 加密/解密文件的小型 C++ 应用程序。我正在使用 GpgME 库。

我希望能够进行一点行编辑,用户可以在其中输入他想用来解密消息的 key 的密码,而不是弹出 gpg pinentry 应用程序。

我可以通过以下方式禁止 pinentry 应用程序弹出: gpgme_set_pinentry_mode(上下文,GPGME_PINENTRY_MODE_CANCEL);

但我无法以任何其他方式提供密码。我已经在谷歌上搜索了几个星期,据我所知,人们说我可以编写一个“自定义 pinentry 包装器”并以这种方式提供密码。我正在努力思考这个问题,但我就是想不通这意味着什么或如何去做。

有谁能帮我解释一下吗?

最佳答案

为什么您不想使用默认的 pinentry 并担心安全地处理(主)密码或 pin(对于使用 GnuPG 卡的人)?

我建议不要为 GPG(2) 系统的这个经过良好审核和支持的部分创建自定义解决方案。

关于C++ 自定义 pinentry 包装器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33732718/

相关文章:

C++ 析构函数导致崩溃

c++ - MSVC2015 中的固定基地址

c++ - 如何在 Qt 中保存 setMovable(工具栏)?

gnupg - 指纹的目的(GPG)

xcode - 带有指纹传感器支持的 pinentry 实现

c++ - 远程编程和调试

Golang pgp 无需加密

c++ - 在 C/C++ 中使用带有 GPGME 的特定公钥验证 GPG 签名

linux - 无法在 Linux 中生成 gpg key

c++ - 在 Debian 中为 C++ 应用程序使用 GPGME