问题标签 [gpg-signature]

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 投票
3 回答
2078 浏览

git - 管理 2 个 git 用户 gpg 密钥并为每个用户选择 gpg 签名

我有 1 个 github 用户和另一个 gitlab 用户,我为每个用户创建了 1 个 gpg 密钥,因为我的电子邮件地址不同。

问题是git config --global user.signingkey每次我想提交不同的 git repos 时都必须执行。

有没有办法可以管理每个 git 用户的 gpg 密钥?

0 投票
1 回答
361 浏览

github - 使用受密码保护的 GPG 密钥的 Visual Studio Code 1.28.2 和 GitHub 签名提交

有人知道在签署提交时是否有办法让 VS Code 询问 GPG 密码?

我觉得不得不使用无密码的 GPG 密钥来这样做有点不舒服。

0 投票
0 回答
107 浏览

gnupg - 如何恢复 gpg 密钥?

我正在使用一台新计算机,但我的 gpg 密钥在另一台损坏的计算机中,所以我无法从那里导入它。那我怎样才能找回密钥呢?谢谢

0 投票
1 回答
242 浏览

gpg-signature - 如果我丢失了我的 GPG 私钥,每个人仍然能够验证我的 Git 提交的签名吗?

我的 GPG 私钥永不过期。我知道当我的硬盘崩溃时我最终会丢失它,我会生成一个新的。

但我想在很多地方备份我的 GPG公钥。那么如果有一天我丢失了我的 GPG 私钥,我的 Git 签名是否仍然可以永远验证?

0 投票
1 回答
2667 浏览

git - Git没有将gpg密钥视为秘密,即使它是,我该如何解决?

所以看起来我的 gpg 密钥是秘密的,但是当我尝试在 git 中签署我的提交时,它不会被识别为秘密。我完全不知道为什么会这样。我相信我的设置正确,但我的提交标志失败了。难道我做错了什么?提前感谢您的帮助。

0 投票
1 回答
499 浏览

gnupg - 无法将公钥上传到密钥服务器。Maven 中央仓库上传失败

我正在尝试将我的回购发布到 Maven 中央回购。我将我的公钥上传到:

  1. http://keys.gnupg.net
  2. hkp://keyserver.ubuntu.com
  3. hkp://pool.sks-keyservers.net

我什至可以使用gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys XXXXXXXX收到他们的回复

但是在将 repo 上传到 maven staging 时,我遇到了错误

我不确定是什么错误。任何帮助,将不胜感激。

我正在从 Windows10 上传公钥。

0 投票
1 回答
968 浏览

linux - 没有密码的签名 rpm

我试图在签名时禁用任何密码,或者至少使用签名命令发送密码。

我有 gpg (GnuPG) 2.0.27 和 libgcrypt 1.5.4

当我运行( rpm --addsign xxxxxxxxxx.rpm )时,我弹出密码

我找到了一个不适合我的 keygrip 解决方案

这些是 rpm 选项:

--checksig --erase --freshen --import --install --querytags --setperms --showrc --verify

0 投票
1 回答
1242 浏览

git - 如何在 Git 提交 GPG 签名期间修复“无法运行 --version:没有此类文件或目录”错误

初始步骤和问题


我在我的 Mac 上安装了Git ,然后尝试按照Github中概述的步骤设置GPG签名验证。

第一次git commit通过 Mac OS终端进行测试时,我被要求输入密码,并且提交已正确签名并推送。没问题。

然后我通过Atom编辑器测试了签名验证。然而,这一次,git commit签约失败了。

寻找解决方案和其他问题的初步尝试


我尝试在Stack OverflowGitHub上寻找解决方案,但无法找到任何可行的方法,尽管我确实尝试了一些建议。

不幸的是,现在尝试git commit通过终端时,我收到以下错误消息:

错误:无法运行 --version:没有这样
的文件或目录错误:gpg 未能签署数据
致命:未能写入提交对象

我花了几天时间试图在网上找到解决方案,但没有成功。

我不明白错误消息的第一行(cannot run --version: no such file or directory)并且无法在线找到类似的问题。

寻找解决方案的进一步尝试和试验


在过去的几天里,我根据以下网站的建议尝试了很多东西:

我还做了以下事情:

  • 通过GitKraken测试 GPG 签名,没有任何问题。
  • GitHub Desktop测试,出现如下错误:

    错误:提交失败 - 收到退出代码 128,输出:
    '错误:gpg 无法签署数据致命:无法写入提交对象'

  • Atom编辑器测试并得到以下错误:

    无法提交。错误:gpg 未能签署数据致命:未能写入提交对象

  • 卸载GnuPG并通过Homebrew重新安装。
  • 最后我什至尝试安装 GPGTools 的GPGSuite

不幸的是,问题仍然存在,我不再知道该尝试什么。

我得到的输出git config -l | grep -E 'gpg|sign是:

user.signingkey=00C23E4C0619F0BD
commit.gpgsign=true
gpg.program=/usr/local/MacGPG2/bin/gpg2

我可以执行以下操作: git config --global commit.gpgsign false

但这不能解决问题,我仍然无法签署我的git commit.

让我感到困惑和沮丧的是,在我按照Github官方指南git commit中概述的步骤设置完所有内容后,它在我第一次工作时就起作用了。我不确定从那以后我做了什么,所以它不再起作用。我试图回溯并删除任何更改,但到目前为止我仍然无法解决此问题。

任何帮助和指导将不胜感激。谢谢!

更新 1


出于好奇,我尝试使用不同的本地回购git commit通过终端进行。提交顺利进行,当我在Github上检查时,它已签名并验证我做了进一步的测试,通过GitHub DesktopAtom提交和签名,一切正常,没有任何问题。这是个好消息,给了我希望。但是,我仍然不知道为什么git commit在一个 repo 上工作,而不是在我正在测试的另一个 repo 上工作。我正在测试的原始仓库仍然不能git commit,并且给出了我上面详述的相同错误消息......我想知道有什么问题吗?

附加信息


我正在运行以下内容:

  • macOS 10.14.4
  • 混帐 2.21.0
  • gpg (GnuPG) 2.2.15
0 投票
0 回答
49 浏览

php - PHP运行shell脚本无法写入新文件

我知道存在一些库,openPgp 或 gnupg,用于加密和解密 PHP 中的文件,但公司要求该脚本与 bash 脚本一起使用并从 PHP 运行,如 shell_exec("./myscriptencrypt")

当我从终端运行时,这项工作非常好,但是当我从 PHP 命令 gpg 运行时它不起作用并且它不会在文件夹中创建文件,该文件夹具有权限:所有用户都可以 RWX ->

echo "$USER"打印 -> 我当前的用户名:usuario

额外: 我在本地环境中的 MacOS 上运行,但它将存在于 Ubuntu 服务器中。

0 投票
1 回答
300 浏览

git - 使用 GitLab 和 GitHub 的单独电子邮件处理 GPG 密钥

如何处理具有两个不同电子邮件地址的 GPG 密钥,一个在 GitHub 上,另一个在 GitLab 上。

我有一个大学电子邮件地址,他们强迫我使用 GitLab。

我有一个用于 GitHub 的私人电子邮件地址。

我希望这两个完全分开,但是有一些问题。

我已经有单独的 SSH 密钥并且工作正常,但是当我尝试使用两个 GPG 密钥时,除非我gpgsign = false在 global中设置,否则我会收到 GPG 签名错误.gitconfig,但那时没有任何签名。