问题标签 [gpg-agent]
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.
gnupg - 如何在 WSL 中处理 gpg-agent?
我试图发布一个 Jar 并且 gpg-agent 没有启动。根据https://www.gnupg.org/documentation/manuals/gnupg-devel/Invoking-GPG_002dAGENT.html,它应该在任何 GnuPG 程序调用时自动启动,但在 WSL 中似乎并非如此。
有那么一刻,我想也许 GnuPG 不能在 WSL 中工作,但我设法手动启动:
那么,缺少什么?为什么不自动启动?或者我应该如何开始它?
debian - 钥匙串:警告:找不到 gpg 钥匙;跳过
我正在尝试keychain(1)
在 Debian 测试中使用我的 GnuPG 密钥。但是,我使用此命令收到以下消息:
MYPGPKEY
我的实际钥匙在哪里。
我可以使用以下命令检查此类密钥是否退出:
如何使用钥匙串添加我的 gpg 密钥?
smartcard - GPG 密钥签署方 w。yubikey 上分离的主密钥和子密钥
我目前的设置如下:
简而言之:
- 万能钥匙 w。认证能力,存储在 USB 驱动器上(只能从没有互联网的 livecd 会话访问)
- 3 个具有身份验证、签名和加密功能的子密钥,存储在 yubikey 上,始终附加在我的密钥环中。
据我了解,没有我的主密钥,我无法签署其他 GPG 密钥。那么我如何参加 GPG 密钥签名派对呢?不用带着我珍贵的万能钥匙旅行?
我可以做些什么来保护我的主密钥?
- 我尝试将其移至 yubikey,但失败了(因为它没有 S、E 或 A 功能。我错过了一个技巧吗?
- 还有其他我可以使用的设备吗?
- 我可以将我的主密钥放在连接到服务器的 HSM 上并通过 SSH 连接到它,该 SSH 由我的 yubikey 上的子密钥进行身份验证,然后是远程签名密钥?如果是这样,什么硬件可以保存 GPG 主密钥?
到目前为止,我唯一的选择似乎是将主密钥放在 USB 密钥上,并在参加密钥签名派对时启动 livecd。
注意:方便很重要。由于我的合规性差,不方便的程序是一个重大的安全风险:)
linux - 在 debian strech 中添加 ppa 时未发现 S.gpg-agent.browser 错误
我正在使用debian strech。我尝试为具有 python 支持的 vim 添加存储库,同时添加我遇到 gpg-agent.browser not found 错误
jenkins - Jenkins Build rpm 签名错误
我正在尝试将我的整个 Jenkins 配置从 RHEL 6.7 复制到 RHEL 6.9 ,这样做一切看起来都很好,但只有一个 jenkins 构建失败并出现以下错误
gpg 私钥 1.4.5 存在于 jenkins 配置中。奇怪的是,所有其他构建都能够签署 rpm,但只有一个构建失败。
谁知道怎么修它 ?
gnupg - 无法使用 GnuPG 导出秘密 PGP 密钥
免责声明:GPG 菜鸟
我刚刚将我的主密钥和三个子密钥中的两个发送到 Yubikey,却不知道它们会从我的密钥环中删除并被存根替换。
之后,我试图取回我的子键,以防它们还在。我可以在 GPG Keychain OSX 应用程序中看到我的密钥和子密钥。使用gpg -k
and列出时gpg -K
,我得到了与我的主密钥和子密钥关联的所有公钥,但只有我的主密钥和一个子密钥的秘密(我没有导出到 yubikey 的那个)。
尝试进行更多调试,我决定使用更新版本的 gpg 来合并密钥等,希望我能找回秘密(我想此时已经不可能了,但我一直在尝试)
使用gpg (GnuPG/MacGPG2) 2.0.30
,它告诉我我有一个主密钥和两个秘密子密钥。
gpg (GnuPG) 2.1.20
在具有相同密钥环(作为卷安装)的容器中使用,它告诉我我有一个主密钥和三个密钥子密钥。
如果我从第二个导出我的密钥,从我的密钥环中删除密钥并导入导出的密钥(希望得到丢失的秘密子密钥),我得到的只是?存根?
如果我打开并拆分导出的密钥,我可以看到一些密钥文件是 1.8K,而另一些只有 0.5K,它们似乎并不真正包含秘密。
- 为什么 GPG 的第二个和更新版本没有告诉我它只有存根?
- 为什么在导出+导入时机密未列为存根?
- 有没有办法找回我的秘密?(我觉得不是)
repository - 使用 gpg-agent 对 Reprepro 包进行无人值守签名
对于我的 SolydXK 存储库,我想添加一些在 Debian 拉伸反向端口中可用的软件包。
我已经成功设置了 conf/distributions、conf/updates 和 FilterList 文件,以下命令在登录到服务器后成功运行:
reprepro -b /path_to_repository_basedir update
将文件添加到存储库时,我必须正确填写我的 gpg 密码来对文件进行签名。在会议期间,我只需要这样做一次。
现在,我尝试通过创建从我的 .bash_profile 调用的脚本来使签名无人参与:
我检查了指纹(又名 keygrip,但这个版本的 gpgsm 不知道 --with-keygrip 选项),一切似乎都很好。但是,当 cron 作业运行上述更新命令时,会出现一条错误消息,指出密码不正确。
服务器在 Debian old-squeeze 上运行(我知道,我必须对此做一些事情,但这是另一个问题),这可能是一个大问题。这是一些版本信息:
那么,这里有没有人在无人看管的情况下使用 gpg-agent 签署包的经验并且可以向我解释我做错了什么?
security - gpg2 中 gpg-agent 的用途
我已经使用gpg
加密一段时间了。有人建议我应该gpg2
改用。当我去使用gpg2
时,我几乎什么都做不了;它会抱怨需要访问私钥,但我似乎无法让它在不gpg-agent
运行的情况下使用私钥。
事实证明,我故意禁用gpg-agent
(通过使用chmod -x /usr/bin/gpg-agent
);这导致gpg2
功能非常有限,并向 stderr 抱怨。
我禁用的原因gpg-agent
是遵循一系列事件。
首先,我将 SSH 连接到远程机器,“代理”会打开一个弹出窗口,要求我解锁我的 SSH 密钥。我不喜欢这个,因为:
- 屏幕上的弹出窗口中断了我的工作流程
- 我的屏幕上的弹出窗口不太可能被注意到,因此它会显示连接停止而不是查询以解锁加密密钥
- 当我绝对不希望我的密码被缓存时,代理似乎缓存了我的密码(很像密码缓存
sudo
的烦人使用,我可以在其配置中禁用它);每当我的加密密钥用于任何使用它们的程序时,我总是想输入密码短语。 - 弹出窗口似乎由一个单独的进程拥有,而我希望特定进程使用密钥来查询密码(即使它是一个执行实际查询的库);由于我的大部分活动都使用命令行工具,这意味着GUI 应用程序并不理想,因为并非我所做的一切都可以访问 X11
- 在后台自动启动一个单独的进程消除了“一个命令,一个进程”的概念,特别是如果该后台进程在原始命令退出后仍然存在
原来是 GNOME 的关键代理,如果不卸载 GNOME,我就无法卸载代理。所以我只是简单地禁用了它chmod -x /usr/bin/gnome-keyring*
。然后我发现 SSH 会退回到另一个代理,所以我也使用相同的方法禁用了它chmod -x /usr/bin/ssh-agent*
当我开始使用gpg
时,我发现它有一个类似的代理,就是我要问的那个。出于同样的原因,我立即禁用了它;我希望软件总是要求我输入密码才能使用私钥。我不希望出于任何原因缓存密码。
所以gpg2
看起来需要 gpg-agent
,我想问:
- 我是否对密码缓存的使用过于偏执?我很想看到或被指出对此的讨论。
- 是否有最佳实践可以更好地避免意外启用缓存密码?
- 有没有一种
gpg2
不用gpg-agent
跑就可以使用的方法? - 鉴于代理是能够回答查询的守护进程,是什么阻止了在本地计算机上运行的其他用户或服务能够访问我缓存或存储的凭据?
windows - 在 Cygwin 中使用 gpg4win | 警告:homedir 上的不安全权限
我终于设法使用 gpg4win 和 cygwin 在 Windows 上配置了一个 yubikey 4。我可以在 Cygwin 中运行以下命令,我的 yubikey 会提示输入 pin 并开始闪烁,然后它会正常工作。
但是,当我想将它用于 git 签名时,它给了我这个错误:
我的 .gitconfig 中有正确的签名密钥和程序设置
任何人都知道如何更改 .gnupg 文件夹的权限?
svn - 使用 GPG-Agent 的 Subversion HTTPS 密码缓存?
我在 Debian Stretch 机器上使用 Subversion 客户端(版本 1.9.5 r1770682,从默认软件包存储库安装),我只有 SSH 访问权限。我正在通过 HTTPS 连接到 Subversion 存储库,并且希望避免每次执行svn up
orsvn ci
命令时都必须重新输入密码。我还想避免将密码作为明文存储在磁盘上。
SVN Book建议我应该能够使用 GPG-Agent 作为缓存密码的一种方式。尽管svn --version
报告说 GPG-Agent 身份验证凭据缓存应该可用,但我在让它工作时遇到了一些麻烦。
关于 GPG,我创建了一个 GPG 密钥对,已添加export GPG_TTY=$(tty)
到我的.profile
文件中,并通过加密和解密一段文本验证了 GPG 的工作原理。
关于 Subversion,在我的.subversion/config
文件中,我设置了以下内容:
在我的.subversion/servers
文件中,我设置了以下内容:
但是,当我执行svn
命令时,不会缓存任何密码。有没有人对我可能做错了什么有任何建议?有没有人成功使用 GPG-Agent 来缓存 HTTPS 密码?(也许这个凭证缓存仅适用于 SVN+SSH 连接?)
任何帮助将不胜感激。