Maven發布封裝到中央倉庫時候報錯:no default secret key: No secret key


今天因為發布swagger-spring-boot-starter做一個問題的修復,然后碰到了下面這個問題,記錄一下解決過程,幫助后續碰到類似問題的童鞋:

*gpg: WARNING: "--no-use-agent" is an obsolete option - it has no effect
gpg: no default secret key: No secret key
gpg: signing failed: No secret key

我們可以用gpg的命令來看一下當前密鑰的情況:

$ gpg --list-keys
gpg: 正在檢查信任度數據庫
gpg: marginals needed: 3  completes needed: 1  trust model: pgp
gpg: 深度:0 有效性:  1 已簽名:  0 信任度:0-,0q,0n,0m,0f,1u
/Users/zhaiyongchao/.gnupg/pubring.kbx
--------------------------------------
pub   rsa2048 2017-12-05 [SC] [已過期:2019-12-05]  
     xxxxxxxxxxxxxxx
uid           [已過期] zhaiyongchao <didi@didispace.com>

可以看到原來設置的密鑰對已經失效,所以下面就來使用gpg續訂過期的密鑰對:

第一步:進入密鑰編輯

$ gpg --edit-key xxxxxxxxxxxxxxx
gpg (GnuPG) 2.2.3; Copyright (C) 2017 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.

私鑰可用。

sec  rsa2048/aaaaaaaaaaaaaaaa
     創建於:2017-12-05  已過期:2019-12-05  可用於:SC  
     信任度:絕對        有效性:已過期
ssb  rsa2048/bbbbbbbbbbbbbbbb
     創建於:2017-12-05  已過期:2019-12-05  可用於:E   
[已過期] (1). zhaiyongchao <didi@didispace.com>

第二步:延長私鑰與公鑰的過期時間,並保存修改

gpg> expire
將要變更主鑰的使用期限。
請設定這把密鑰的有效期限。
         0 = 密鑰永不過期
      <n>  = 密鑰在 n 天后過期
      <n>w = 密鑰在 n 周后過期
      <n>m = 密鑰在 n 月后過期
      <n>y = 密鑰在 n 年后過期
密鑰的有效期限是?(0) 0
密鑰永遠不會過期                
以上正確嗎?(y/n)y
                        
sec  rsa2048/aaaaaaaaaaaaaaaa
     創建於:2017-12-05  有效至:永不過期  可用於:SC  
     信任度:絕對        有效性:絕對
ssb  rsa2048/bbbbbbbbbbbbbbbb
     創建於:2017-12-05  已過期:2019-12-05  可用於:E   
[ 絕對 ] (1). zhaiyongchao <didi@didispace.com>

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

gpg> key 1
          
sec  rsa2048/aaaaaaaaaaaaaaaa
     創建於:2017-12-05  有效至:永不過期  可用於:SC  
     信任度:絕對        有效性:絕對
ssb* rsa2048/bbbbbbbbbbbbbbbb
     創建於:2017-12-05  已過期:2019-12-05  可用於:E   
[ 絕對 ] (1). zhaiyongchao <didi@didispace.com>

gpg> expire
將要變更子鑰的使用期限。
請設定這把密鑰的有效期限。
         0 = 密鑰永不過期
      <n>  = 密鑰在 n 天后過期
      <n>w = 密鑰在 n 周后過期
      <n>m = 密鑰在 n 月后過期
      <n>y = 密鑰在 n 年后過期
密鑰的有效期限是?(0) 0
密鑰永遠不會過期                
以上正確嗎?(y/n)y
                        
sec  rsa2048/aaaaaaaaaaaaaaaa
     創建於:2017-12-05  有效至:永不過期  可用於:SC  
     信任度:絕對        有效性:絕對
ssb* rsa2048/bbbbbbbbbbbbbbbb
     創建於:2017-12-05  有效至:永不過期  可用於:E   
[ 絕對 ] (1). zhaiyongchao <didi@didispace.com>

gpg> save

到這里問題就解決了,可以再嘗試一下mvn deploy來發布你的內容到中央倉庫吧~

歡迎關注我的公眾號:程序猿DD,獲得獨家整理的學習資源和日常干貨推送。
如果您對我的專題內容感興趣,也可以關注我的博客:didispace.com


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM