code

2016年1月24日 星期日

OSSRH: 建立GPG簽章


這篇我們要建立一個GPG簽章,Maven Central所有上傳的檔案,都要求必需通過簽章的驗證。以下的範例環境是在CentOS6下,其它Linux distribute或Mac用戶不會相差太多。如果是windows用戶,建議可以使用VirtualBox等工具,裝套Linux 給自己省點麻煩;因為這過程是有點小麻煩會發生的喔。

操作流程


1. 使用 gpg --gen-key 產生一組金鑰

在console下執行指令

 gpg --gen-key;  


第一個畫面會詢問你要使用的金鑰種類,請選擇 (4)
記得選擇 (4) 不然會上傳不成功

再來要設定RAS金鑰的長度,建議使用預設值2048就好

再來是設定金鑰的有效期限是多久,建議使用預設0,代表永遠不會過期,並且確認


再來你要為金鑰設定識別資料,輸入你的姓名與email,然後選 O(key) 確認


下一個畫面你要為這支金鑰設定一個私鑰密碼,千萬不要忘了


接著你可能要做一些無意義的動作,像是亂打鍵盤、移動滑鼠等來協助程式產生隨機亂數

(重要) 如果是使用遠端連線或是虛擬機器沒辦法模擬這些動作、或是等了五分鐘以上還是沒有完成怎麼辦?

請另外再開一個 console 出來並執行 df 檢視一下機器的硬碟的設備
/dev/sda1 就是我們要的目標
然後執行以下指令,讓你的硬碟開始瘋狂讀取,金鑰應該會在1分鐘內就產生了

 dd if=/dev/sda1 of=/dev/null  


看到這個畫面,就表示金鑰產生完成了,圖中的 pub   2048R/F282C161 這個就是我們的public key


2. 上傳簽章至公開金鑰庫

接著我們要把產生的公鑰上傳至幾個主要的公鑰公開伺服器

 gpg --keyserver keyserver.ubuntu.com --send-key your_public_key  
 gpg --keyserver pool.sks-keyservers.net --send-key your_public_key  
 gpg --keyserver pgp.mit.edu --send-key your_public_key  



3. 取回你的金鑰測試 


 gpg --keyserver keyserver.ubuntu.com --send-key your_public_key  
 gpg --keyserver pool.sks-keyservers.net --send-key your_public_key  
 gpg --keyserver pgp.mit.edu --send-key your_public_key  

如果有成功取回,這步基本上就算完成囉

沒有留言:

張貼留言