问题标签 [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.
git - 管理 2 个 git 用户 gpg 密钥并为每个用户选择 gpg 签名
我有 1 个 github 用户和另一个 gitlab 用户,我为每个用户创建了 1 个 gpg 密钥,因为我的电子邮件地址不同。
问题是git config --global user.signingkey
每次我想提交不同的 git repos 时都必须执行。
有没有办法可以管理每个 git 用户的 gpg 密钥?
github - 使用受密码保护的 GPG 密钥的 Visual Studio Code 1.28.2 和 GitHub 签名提交
有人知道在签署提交时是否有办法让 VS Code 询问 GPG 密码?
我觉得不得不使用无密码的 GPG 密钥来这样做有点不舒服。
gnupg - 如何恢复 gpg 密钥?
我正在使用一台新计算机,但我的 gpg 密钥在另一台损坏的计算机中,所以我无法从那里导入它。那我怎样才能找回密钥呢?谢谢
gpg-signature - 如果我丢失了我的 GPG 私钥,每个人仍然能够验证我的 Git 提交的签名吗?
我的 GPG 私钥永不过期。我知道当我的硬盘崩溃时我最终会丢失它,我会生成一个新的。
但我想在很多地方备份我的 GPG公钥。那么如果有一天我丢失了我的 GPG 私钥,我的 Git 签名是否仍然可以永远验证?
git - Git没有将gpg密钥视为秘密,即使它是,我该如何解决?
所以看起来我的 gpg 密钥是秘密的,但是当我尝试在 git 中签署我的提交时,它不会被识别为秘密。我完全不知道为什么会这样。我相信我的设置正确,但我的提交标志失败了。难道我做错了什么?提前感谢您的帮助。
gnupg - 无法将公钥上传到密钥服务器。Maven 中央仓库上传失败
我正在尝试将我的回购发布到 Maven 中央回购。我将我的公钥上传到:
- http://keys.gnupg.net
- hkp://keyserver.ubuntu.com
- hkp://pool.sks-keyservers.net
我什至可以使用gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys XXXXXXXX收到他们的回复
但是在将 repo 上传到 maven staging 时,我遇到了错误
我不确定是什么错误。任何帮助,将不胜感激。
我正在从 Windows10 上传公钥。
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
git - 如何在 Git 提交 GPG 签名期间修复“无法运行 --version:没有此类文件或目录”错误
初始步骤和问题
我在我的 Mac 上安装了Git ,然后尝试按照Github中概述的步骤设置GPG签名验证。
第一次git commit
通过 Mac OS终端进行测试时,我被要求输入密码,并且提交已正确签名并推送。没问题。
然后我通过Atom编辑器测试了签名验证。然而,这一次,git commit
签约失败了。
寻找解决方案和其他问题的初步尝试
我尝试在Stack Overflow和GitHub上寻找解决方案,但无法找到任何可行的方法,尽管我确实尝试了一些建议。
不幸的是,现在尝试git commit
通过终端时,我收到以下错误消息:
错误:无法运行 --version:没有这样
的文件或目录错误:gpg 未能签署数据
致命:未能写入提交对象
我花了几天时间试图在网上找到解决方案,但没有成功。
我不明白错误消息的第一行(cannot run --version: no such file or directory)并且无法在线找到类似的问题。
寻找解决方案的进一步尝试和试验
在过去的几天里,我根据以下网站的建议尝试了很多东西:
- gpg 未能签署数据致命:未能写入提交对象
- Mac 上的 Git Hub 桌面,错误:无法运行 gpg:没有这样的文件或目录
- 在 OSX 上使用 GPG 自动进行 Git 提交签名
- 如何设置 git 以使用 GPG 套件
我还做了以下事情:
- 通过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 Desktop和Atom提交和签名,一切正常,没有任何问题。这是个好消息,给了我希望。但是,我仍然不知道为什么git commit
在一个 repo 上工作,而不是在我正在测试的另一个 repo 上工作。我正在测试的原始仓库仍然不能git commit
,并且给出了我上面详述的相同错误消息......我想知道有什么问题吗?
附加信息
我正在运行以下内容:
- macOS 10.14.4
- 混帐 2.21.0
- gpg (GnuPG) 2.2.15
php - PHP运行shell脚本无法写入新文件
我知道存在一些库,openPgp 或 gnupg,用于加密和解密 PHP 中的文件,但公司要求该脚本与 bash 脚本一起使用并从 PHP 运行,如 shell_exec("./myscriptencrypt")
当我从终端运行时,这项工作非常好,但是当我从 PHP 命令 gpg 运行时它不起作用并且它不会在文件夹中创建文件,该文件夹具有权限:所有用户都可以 RWX ->
echo "$USER"
打印 -> 我当前的用户名:usuario
额外: 我在本地环境中的 MacOS 上运行,但它将存在于 Ubuntu 服务器中。
git - 使用 GitLab 和 GitHub 的单独电子邮件处理 GPG 密钥
如何处理具有两个不同电子邮件地址的 GPG 密钥,一个在 GitHub 上,另一个在 GitLab 上。
我有一个大学电子邮件地址,他们强迫我使用 GitLab。
我有一个用于 GitHub 的私人电子邮件地址。
我希望这两个完全分开,但是有一些问题。
我已经有单独的 SSH 密钥并且工作正常,但是当我尝试使用两个 GPG 密钥时,除非我gpgsign = false
在 global中设置,否则我会收到 GPG 签名错误.gitconfig
,但那时没有任何签名。