我通过执行以下命令使用 GPG 生成了密钥
gpg --gen-key
Run Code Online (Sandbox Code Playgroud)
现在我需要将密钥对导出到一个文件中;即分别是private.pgp
和 的私钥和公钥public.pgp
。我该怎么做?
我喜欢用我的 PGP 密钥签署我的 git 提交,所以当我去的时候我很震惊,git commit -S
但没有提示我输入 PGP 密钥密码,git 刚刚开始挂起。几个月来我没有对我的 GPG 设置进行任何更改,并且从那时起进行了多次提交,没有任何问题。此外,当我尝试使用 来查看我的私钥时gpg -K
,gpg 会挂起。但是,当我运行gpg -k
查看我的公钥时,它会像往常一样返回列表。希望有人会对导致此问题的原因以及如何解决此问题有所了解。
使用 Debian Jessie 和 GnuPG 2,每次我尝试使用 GnuPG 2 ( gpg2
) 或gpg-connect-agent
与 OpenPGP 智能卡(在我的情况下为 YubiKey)一起使用时,操作失败并显示一条消息
$ gpg-connect-agent --hex "scd apdu 00 f1 00 00" /bye
ERR 67108983 No SmartCard daemon <GPG Agent>
$ gpg2 --card-status
ERR 67108983 No SmartCard daemon <GPG Agent>
Run Code Online (Sandbox Code Playgroud)
使用旧版 GnuPG 1 ( gpg
) 时,一切正常。
这里出了什么问题?
我正在尝试更改 GPG 密钥的密码。
其实,我改变了它使用的海马(也试过gpg --edit-keys
和passwd
,但是当我试图导出我的私钥,它要求我现在二人的密码(无论新老一个),并使用旧的子密钥。
现在我要记住两个复杂的密码!
更改 GPG 密钥密码的正确方法是什么?