我正在尝试编写一个使用 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/