问题标签 [gnupg]

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 回答
140 浏览

php - 使用 PHP 找出 OpenSSL 和 GnuPG 的位置?

是否有一种跨平台兼容的方式来找出 OpenSSL 和 GnuPG 的主要可执行文件的路径?null显然,如果没有安装或检测到软件,就会出现这种情况。

0 投票
1 回答
5661 浏览

security - 解密 GPG 消息时出现 mdc 错误

我有一个客户端和服务器系统,它们定期运行计划任务并通过已由 gpg 加密的 xml 文件进行通信。所有必需的公钥已在客户端和服务器之间成功交换。加密和解密调用是从批处理文件中完成的。

加密语法

gpg.exe --batch --yes --recipient %1 --output %4 --passphrase %5 --local-user %2 --sign --encrypt %3

解密语法

gpg.exe --batch --yes --output %3 --passphrase %4 --decrypt %2 2>%1

客户端创建一个 xml 文件,使用 gpg 使用服务器公钥对其进行加密,使用私钥签名并将其上传到服务器的 ftp 站点。服务器定期检查 ftp 文件夹中的新文件。对于任何新文件,它使用 gpg 解密,然后处理文件中的 xml。

对于服务器尝试解密的一些 xml 文件,我收到如下错误:

gpg: block_filter 00AA8400: 读取错误 (size=7841,a->size=395)

gpg: 编码无效的 mdc_packet

gpg:解密失败:无效数据包

gpg:block_filter:待处理字节!

需要注意的是,并非所有文件都发生这种情况,而只有一些文件会发生这种情况。我无法找到它失败的文件之间的任何共性。

有人熟悉这个错误的含义吗?欢迎任何有助于追踪此问题的建议。

0 投票
2 回答
2192 浏览

linux - 有没有办法以编程方式获取已安装的 RPM 的签名密钥 ID?

rpm -qi package?

我真的不想解析rpm -qi. 我更喜欢使用rpm -q --qf,我可以控制格式并且不受未来版本的审美异想天开的影响。

但是我可以在手册页中找到的唯一有用的标签是 SIGPGP,它可以让我获得整个签名,而不仅仅是短密钥 ID。看到不同:

0 投票
2 回答
544 浏览

security - 用敏感数据加密文件的最安全方法是什么?

谁能推荐我一种编码敏感数据文件的方法,这样没有人可以破解它们?我将是唯一知道密码的人。

我正在考虑使用 GPG,但我对安全性几乎一无所知。任何建议使用 GPG 的哪种算法进行加密?

谢谢,博达赛多。

0 投票
1 回答
322 浏览

email - 加密电子邮件测试数据集

我正在寻找一组由各种电子邮件客户端加密(和签名)的电子邮件,以测试邮件客户端。一个可下载的 mbox 文件以及测试 gpg 密钥将是理想的选择。

电子邮件加密(和签名)的方式似乎有很多种,因此很难让它们全部工作。然后你发现另一个客户端以稍微不同的方式出错,你想重构你的代码,但不破坏你已经支持的任何电子邮件的解密。

那么有人知道这样的数据集吗?或者失败了,一份很好的清单,列出了不同位软件加密电子邮件的方式?

0 投票
2 回答
2733 浏览

continuous-integration - 作为持续构建的一部分,使用 gpg 对 RPM 进行签名 - 如何避免提示输入密码?

我有一个持续集成构建系统,它通过 cron 触发的 shell 脚本生成 RPM。我想用 gpg 对 RPM 进行签名,但 gpg 坚持要求用户在控制台手动输入密码,这显然是一个非初学者,因为没有用于 cron 的用户控制台。

我已经阅读了有关 gpg-agent 的信息,它可以让您为当前的登录会话输入一次密码,但是 cron 再次没有登录会话。我想要的是能够将 gpg-agent 配置为在启动时接受一次密码,并在需要时将其交给 cron 会话。我不知道这是否可能,并且 gpg-agent 的文档相当少。

另一种方法是在 gpg 要求时使用 expect 来输入密码,但显然这是一个很大的安全漏洞,因为密码需要包含在构建脚本中。

0 投票
2 回答
2416 浏览

encryption - 检查加密文件是否有空内容

我正在使用 gpg 来解密供应商发送给我的文件。当加密文件的内容为空时,一切正常(供应商告诉我有问题的文件中没有内容)。

如果我尝试解密这些文件之一,我会得到:

gpg: 无法处理这种模棱两可的签名数据

有什么方法可以检查文件是否没有内容接受标题,以便我可以将其设置为更优雅地失败?

0 投票
2 回答
3383 浏览

ssl - 是否可以使用 pgp 公钥/私钥创建 ssl 证书?

我有一个朋友信任的 pgp 公钥/私钥 (RSA) 密钥对。我有一个正在运行的网络服务器,我想生成一个 ssl 证书,其公钥与我的 pgp 公钥匹配。

这有任何意义吗 ?那可能吗 ?那安全吗?

0 投票
3 回答
4782 浏览

c# - 命令行 GPG 解密使用 c# - 密码?

我正在使用命令行来加密我发送的文件,但我试图弄清楚如何使用相同的方法来解密它们。如果我运行命令,它会提示输入密码,但我看不到使用命令行传递密码的方法。这是我加密文件的方式:

** 这是用于我的解决方案的有用链接:http: //social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/38c21304-fc7a-42cc-a5fb-dcb6da7f6411/

0 投票
1 回答
2769 浏览

.net - 使用 .NET 中的 gpgme 库?

这个问题其实是两个问题:

  1. 如何在 Windows 中使用gpgme库?
  2. .NET 的绑定在某处可用吗?(如果没有,我想我可以自己做。)

编辑:找到的解决方案:gpgme-sharp在 Linux 和 Windows 中都能很好地工作。(对于后者,唯一的先决条件是包含gpgme DLL 的 gpg4win。)请务必查看 Samples 子目录中的 GpgmeSamples 解决方案。

那个图书馆值得爱。我推荐它。