GIT GPG KEY过期后重新更新时间

GIT GPG KEY过期处理

git使用过程中若使用过GPG KEY为commit进行签名,在一段时间未使用后,再次对某个库进行操作,提交时会发现,提示gpg签名失败。

error: gpg failed to sign the data
fatal: failed to write commit object

通过命令查看具体账户下的gpg keys.

$ gpg2 --list-secret-keys --keyid-format long
/home/nn/.gnupg/pubring.kbx
---------------------------------
sec   rsa4096/3CF8D791AB81AE55 2020-08-26 [SC]
      A598B8F2448C8B19C2ECF7803CF8D791AB81AE55
uid                 [ultimate] Nicholas <NN@sz.com.cn>
ssb   rsa4096/A0B38A3FA93702EB 2020-08-26 [E]

sec   rsa4096/5BA245F4CC9794AF 2020-10-28 [SC] [expired: 2020-10-29]
      D377D1F46DDCFF450B24FCD05BA245F4CC9794AF
uid                 [ expired] sanren1024 (github gpg) <sanren1024@aliyun.com>

可以看到ID5BA245F4CC9794AF的状态是expired,即过期了。

重新使用

使用命令对gpg key进行编辑,进入到编辑命令行模式。

$ gpg --edit-key 5BA245F4CC9794AF
gpg (GnuPG) 2.2.19; Copyright (C) 2019 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Secret key is available.

sec  rsa4096/5BA245F4CC9794AF
     created: 2020-10-28  expired: 2020-10-29  usage: SC  
     trust: ultimate      validity: expired
ssb  rsa4096/940927C936A8FDEA
     created: 2020-10-28  expired: 2020-10-29  usage: E   
[ expired] (1). sanren1024 (github gpg) <sanren1024@aliyun.com>

gpg> 

提示符gpg>表示进入到了编辑命令行模式,接着输入expire以更新取消日期.

gpg> expire
Changing expiration time for the primary key.
Please specify how long the key should be valid.
         0 = key does not expire
      <n>  = key expires in n days
      <n>w = key expires in n weeks
      <n>m = key expires in n months
      <n>y = key expires in n years
Key is valid for? (0)

查看到提示,可以输入的格式标题下次取消的时间点。接着按格式进行输入,这里选择输入180即180天后再次取消。

Key is valid for? (0) 180
Key expires at Tue 29 Jun 2021 10:42:58 AM CST
Is this correct? (y/N) y

sec  rsa4096/5BA245F4CC9794AF
     created: 2020-10-28  expires: 2021-06-29  usage: SC  
     trust: ultimate      validity: ultimate
ssb  rsa4096/940927C936A8FDEA
     created: 2020-10-28  expired: 2020-10-29  usage: E   
[ultimate] (1). sanren1024 (github gpg) <sanren1024@aliyun.com>

gpg: WARNING: Your encryption subkey expires soon.
gpg: You may want to change its expiration date too.
gpg> 

这样再次看到的状态是ultimate,不再是expired

因为重新更新了取消时间,需要输入trust命令。

gpg> trust
sec  rsa4096/5BA245F4CC9794AF
     created: 2020-10-28  expires: 2021-06-29  usage: SC  
     trust: ultimate      validity: ultimate
ssb  rsa4096/940927C936A8FDEA
     created: 2020-10-28  expired: 2020-10-29  usage: E   
[ultimate] (1). sanren1024 (github gpg) <sanren1024@aliyun.com>

Please decide how far you trust this user to correctly verify other users' keys
(by looking at passports, checking fingerprints from different sources, etc.)

  1 = I don't know or won't say
  2 = I do NOT trust
  3 = I trust marginally
  4 = I trust fully
  5 = I trust ultimately
  m = back to the main menu

Your decision? 5
Do you really want to set this key to ultimate trust? (y/N) y

sec  rsa4096/5BA245F4CC9794AF
     created: 2020-10-28  expires: 2021-06-29  usage: SC  
     trust: ultimate      validity: ultimate
ssb  rsa4096/940927C936A8FDEA
     created: 2020-10-28  expired: 2020-10-29  usage: E   
[ultimate] (1). sanren1024 (github gpg) <sanren1024@aliyun.com>

提示输入信任key的成都,根据需要进行选择即可,最后输入save命令,保存后退出。

gpg> save

保存退出,重新commit

上述步骤完成后,gpg key就被更新了,接着需要在确保设置了gpg签名后,进行重新提交。

$ git config --local commit.gpgSign true # 使用gpg签名
$ git config --local user.signingKey 5BA245F4CC9794AF # 设置gpg签名的KEY_ID

可以使用上述命令,重新设置库的gpg。
接着就可以进行正常commit操作。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

VoidHope

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值