1. 程式人生 > 程式設計 >Maven釋出封裝到中央倉庫時候報錯:no default secret key

Maven釋出封裝到中央倉庫時候報錯:no default 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 <[email protected]>

可以看到原來設定的金鑰對已經失效,所以下面就來使用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 <[email protected]>

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

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

gpg> save

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。