问题标签 [gpgme]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
168 浏览

c++ - 使用 gpgme 在 c++ 中导出 gpg 公钥

我需要在 c++ 中通过 gpgme 导出公钥。我对 gpgme_get_key 调用有问题,它返回 [NO DATA] 错误或 [END OF FILE] 错误。

我尝试了 gpgme_op_keylist_start 并且调用返回 [NO DATA] 以指纹、uid 和名称作为模式。

budger@thaw:~/gpgme/ref$ ./export export.cpp:60: GPGME: 文件结束

}

budger@thaw:~/gpgme/ref$ ./export_new 分段错误(核心转储)

0 投票
1 回答
240 浏览

ruby - GPGME::Ctx 解密 > GPGME::Error 不支持

在我的桌面 Debian GNU/Linux 9.11 (stretch) 上,代码有效,但在服务器 Ubuntu 16.04.6 上无效

问题出现在方法 Function: gpgme_error_t gpgme_op_decrypt (gpgme_ctx_t ctx, gpgme_data_t cipher, gpgme_data_t plain) https://www.gnupg.org/documentation/manuals/gpgme/Decrypt.html

引发异常 GPGME::Error 并显示消息“不支持”

错误发生在 GEM shared/bundle/ruby/2.5.0/gems/gpgme-2.0.18/lib/gpgme/ctx.rb:428:in `decrypt'

https://www.rubydoc.info/gems/gpgme/2.0.18/GPGME/Error中未记录带有消息“不支持”的异常 GPGME::Error

在我的开发 PC 上,没有引发异常!

0 投票
0 回答
155 浏览

c - 在 C 中使用 GPGME 进行加密

我目前正在开发一个需要使用 GPGME 进行文件加密的项目。我找到了这个沙盒代码,并试图让它帮助理解这个主题。我在第 46 行被 gpgme_get_key() 函数耽搁了,它不允许代码继续。我很难找到有关可能出现问题的文档。我认为问题出在没有正确生成密钥。

0 投票
0 回答
102 浏览

c - GPGME 解密显示无数据

我正在编写一个程序,我在其中加密文件并使用 gpgme 通过 SSL 套接字发送它。然后,我需要下载文件并解密。

我的加密工作正常,但我在解密时遇到问题。我的 inputBuffer 是文件的内容。下载文件时,inputBuffer 的结果是加密文本的第一行。gpgme_strerror(err)) 返回“无数据”。似乎文本的内容没有放在密文中,并且它不知道要解密什么。

0 投票
1 回答
873 浏览

python-3.x - 尝试下载我当前的所有软件包以供离线使用时出现 PIP 错误

我正在尝试下载 TensorFlow 及其所有依赖项,以便我可以将其 PIP 安装到另一台没有互联网的计算机上。

我已经通过 PIP3 将 Tensorflow 安装到运行 RH UBI8 的 Docker 容器上。

到目前为止,我执行了: pip3 freeze > req.txt

然后我执行

pip3 -download req.txt -d 目录

我收到此错误:

在 req.txt 我有 gpg==1.10.0

我不明白为什么我会收到这个错误。我的包在我的机器上运行。而且我什至没有尝试安装它,我只是想下载它。为什么还要尝试运行安装程序?

0 投票
0 回答
77 浏览

encryption - GPGME:如何检查我们是否可以解密秘密并拥有匹配的密钥?

使用GPGME,我将如何检查是否可以使用当前钥匙串解密给定的秘密。

我可以尝试解密gpgme_op_decrypt并捕获GPG_ERR_NO_SECKEY错误,但这似乎不是最佳的,我也不知道这是否涵盖所有情况。

有没有can_decrypt功能,do_we_own_decrypt_key_for_secret或者类似的?

另外,我可以在不解密秘密的情况下列出秘密收件人,这可能有助于解决这个问题。

0 投票
1 回答
95 浏览

python - 如何在 python gpgme 中使用高级(低级)函数来删除一个键?

我想从我的密钥库中删除一个密钥,但主模块 ( gpg) 没有提供任何功能来执行此操作(或者我错过了它)。只是为了撤销密钥 UID,这不是我想要的。

我发现该功能gpgme_op_delete_ext (gpgme_ctx_t ctx, const gpgme_key_t key, unsigned int flags)可通过gpg.gpgme模块获得。但我不知道如何使用它,因为我拥有的 GPG 上下文来自主 python 模块,而不是函数所需的“低级”类型。所以我想我的关键是我从get_key我的上下文的功能中得到的。

那么,如何将我的Context对象从主模块和我从中获得的密钥转换为提供gpgme_op_delete_ext删除所述密钥的功能?

0 投票
1 回答
65 浏览

visual-studio - 链接到 Visual Studio 中的 gpgme 库

我发现了这个旧帖子:

使用 .NET 中的 gpgme 库?

但它不能帮助我将我的 C++ 项目(Visual Studio)链接到 libgpgme-11.dll。

我使用的是 Windows 10 平台,并做了以下尝试设置它:

Properties->Linker->Input: libgpgme-11.dll Properties->Linker->Additional Library Directories: Gpg4win\lib and Gpg4win\bin_64 Properties->C/C++ General->Additional Include Directories: Gpg4win\include

当我编译项目时,我得到一个链接错误 LNK1107 无效或损坏的文件:无法在 0x368 读取。

在我看来,libgpgme-11.dll 不是正确的链接对象。然而,我在根 Gpg4win 文件夹下找不到任何 gpgme lib 文件。

有什么推荐吗?

埃里克

0 投票
0 回答
68 浏览

openpgp - 无法使用从密钥服务器 (keys.openpgp.org) 检索到的密钥 (gpgme)

每个人

我生成了一对与我的电子邮件地址关联的密钥,并将公钥上传到密钥服务器:keys.openpgp.org。在 gpgme 示例的帮助下,我使用 Visual Studio 编写了一个 C++ 程序来在本地检索我的公钥,

gpgme_set_keylist_mode(ceofcontext,GPGME_KEYLIST_MODE_LOCAL);

远程,

gpgme_set_keylist_mode(ceofcontext,GPGME_KEYLIST_MODE_EXTERN);

密钥的指纹、电子邮件、算法、名称都是正确的。问题是密钥的字段:can_encryptcan_signcan_certify在从远程密钥服务器检索时为 0。这使得远程检索到的密钥无法使用。

有没有人遇到过类似的问题?

谢谢,埃里克

0 投票
1 回答
85 浏览

gnupg - 使用 gpgme 更改密钥信任级别(有效性)

GPGME提供有关密钥信任级别的信息作为类型为的owner_trust字段。但是,我在文档或头文件中找不到允许我更改密钥有效性的函数。gpgme_validity_tgpgme.h

GnuPG 命令行工具确实允许更改密钥的信任级别:

GPGME 库是否甚至支持更改owner_trust字段?如果是这样,我该如何使用它?

我正在使用最新版本的 GPGME,即1.16.0(提交哈希1021c8645555502d914afffaa3707609809c9459)。