找回密码
 立即注册
首页 业界区 安全 导入GPG密钥后在Jetbrains IDE内显示“未验证的GPP签名 ...

导入GPG密钥后在Jetbrains IDE内显示“未验证的GPP签名”提示

毕余馥 6 天前
0.背景

最近因为更换了新的电脑,为了保持多设备提交签名一致,我将在原来设备上个人目录下的.gnupg文件夹复制到了新设备。
1.状况

在完成复制之后,我像以前一样打开了Jetbrains的IDE(如Rider和WebStorm),在查看git提交日志时,发现签名信息处显示“未验证的GPP签名”,如下图所示
1.png

2.解决过程

2.1 重新复制一次

最开始我认为是在复制过程中出现了操作问题,所以将新设备上的.gnupg文件夹删除,再从旧设备中重新打包了一份文件夹的副本解压到个人文件夹下
但重新操作了一次问题照旧
2.2 查找资料

我通过搜索引擎搜索“GPG迁移”时,发现git支持导出指定的公钥私钥并导入到新的设备;于是我删除了原来复制的文件夹并按照教程执行了GPG迁移操作
之后重新打开了IDE,还是问题照旧
2.3 无意的发现

在尝试了上面两种方法后,一时想不出来还有什么别的解决方式了。
我重新回看了导入GPG公钥私钥的教程并重新执行了列出新设备上所有存在的公钥信息时,发现在自己的名称前有一个unknown的标识
2.png

对比了一下旧设备上的列表,列出的信息中相同位置显示的是ultimate
3.png

2.4 调整思路方向

发现了上面的差别后,我调整了思路,转去了解为什么列出gpg公钥信息时会出现unknown标识
在搜索了一段时间后,一篇问答贴中给出的方法映入了我的眼帘;根据该贴中的方法操作后,在JetBrains IDE的Git签名信息变成了“已验证的GPG签名”
4.png

3.解决方案

出现此问题的原因是GNUPG内部有一个数据库,里面会记录签名信任信息;而在之前复制/导出导入时未将信任信息一并导入,因此导致默认的信任级别为unknown

  • 打开Git Bash,输入以下命令
  1. gpg --edit-key user@useremail.com
复制代码
输入并回车后会展示对应的公钥信息,确认无误后进行下一步

  • 继续输入trust并回车,终端内会显示出操作提示,让你选择信任级别
  1. Please decide how far you trust this user to correctly verify other users' keys
  2. (by looking at passports, checking fingerprints from different sources, etc.)
  3.   1 = I don't know or won't say
  4.   2 = I do NOT trust
  5.   3 = I trust marginally
  6.   4 = I trust fully
  7.   5 = I trust ultimately
  8.   m = back to the main menu
  9. Your decision? 5
  10. Do you really want to set this key to ultimate trust? (y/N) y
复制代码
输入5以最大程度信任并输入y确认操作
3.最后在终端内输入save并回车保存上述改动,问题解决。
参考资料:gpg --list-keys command outputs uid [ unknown ] after importing private key into a clean install

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册