tags: #GPG #GnuPG #數字安全
GnuPG官網:https://www.gnupg.org/
本文測試環境:macOS 系統,GnuPG Version 2.1.20(2017-04-03)
一、安裝
按照官方頁面的指導,下載 GnuPG,並安裝。
在 Terminal 里測試安裝是否成功:
gpg2 --versioin
注意,這里的命令是
gpg2
,不是gpg
也不是pgp
檢查/Users/buchiany/.gnupg
目錄權限所屬用戶/用戶組,提前解決可能會出現的錯誤 Permission denied
使用命令ls -al
查看子目錄或文件權限
使用命令sudo chown -R buchiany:staff .gnupg/
修改用戶組為當前用戶/用戶組。
二、創建密鑰對
1、創建
gpg2 --generate-key
按默認參數創建密鑰對
--full-generate-key
自定義參數創建密鑰對
可選擇密鑰種類(默認是 RSA and RSA),密鑰長度(默認2048),有效期限。
接下來會要求輸入姓名、郵件地址和注釋,來生成用戶標識。英文,可只寫姓名和郵件地址。
接下來會要求新建輸入一個口令,這個口令是用來保護私鑰。
成功生成密鑰對之后,輸出的結果格式類似如下:
/Users/username/.gnupg/pubring.kbx
---------------------------------
pub rsa2048 2017-04-03 [SC]
5880C75057FED0E3XXXXXXXXXXXXXXXXXXXXXXXX
uid [ultimate] foobar <foo@bar.com>
sub rsa2048 2017-04-03 [E]
2、輸出並備份密鑰
密鑰是自己用來簽名自己所發送的信息,或解密別人發來的加密信息(用此密鑰配對的公鑰加密)。
導出命令:gpg2 -a -o gpg-private-key.txt --export-secret-keys
-a
以Ascii文本輸出
-o filename
輸出到指定文件
換個地方保存好這個密鑰備份,避免泄露。
3、輸出公鑰,告知他人
公鑰是別人用來驗證簽名(不能簽名),或加密(不能解密)要發送給你的信息。
導出命令:gpg2 -a -o gpg-public-key.txt --export [用戶ID]
"用戶ID"是指定哪個用戶的公鑰
-o filename
輸出到指定的文件
然后就通過不同方式將公鑰發給別人,比如掛在自己的網站上。
也上傳公鑰到專門的公鑰服務器
命令:gpg2 --send-keys [用戶ID] --keyserver hkp://subkeys.pgp.net
可以網上搜索有哪些公鑰服務器
三、應用
加密信息
1)導入別人的公鑰
2)加密文件
gpg2 -r 用戶ID -o destfile -e sourcefile
-r 用戶ID
,指定用戶ID即指定用來加密的公鑰
-o destfile
,"destfile"加密輸出的文件
-e sourcefile
,"sourcefile"是待加密的文件
解密信息
gpg2 -o destfile -d sourcefile
如何更方便的加解密,例如收發郵件時
需要更多工具支持。可網上搜索,或看看這個:https://gpgtools.org/
參考文檔:
PGP,OpenPGP,GPG三者的關系
阮一峰GPG入門教程
GnuPG 袖珍 HOWTO
GPG Permission denied
Ubuntu中文 GPG/PGP
(完)
//////////
log
20170404, 筆記。