gpg工具實作對稱加密
公鑰加密
在B主機公鑰加密,在A主機上解密的實作:
1、在A上生成公鑰私鑰對兒:gpg --gen-key,出現互動式界面可以按照預設選擇,最後一項必須輸入使用者id用以識别鑰匙,Email和注釋可以不填,之後選o,完成後輸入密碼,也可以不輸
2、在A上檢視公鑰:gpg --list-keys
3、在A上導出公鑰到chen.pubkey:gpg -a --export -o chen.pubkey,(在哪個目錄做此指令,公鑰就在哪個目錄)
4、從A上複制公鑰檔案到需加密的B上:scp chen.pubkey B的IP:/目标位置 (不輸位置預設放到root家目錄)
5、在需加密的B上生成公鑰私鑰對兒,和第1步一樣的指令
6、在B上導入A的公鑰,gpg --import chen.pubkey,并檢視gpg --list-keys
7、用從A主機導入的公鑰,加密B主機的檔案FILE,生成FILE.gpg,gpg -a -r A的密鑰UserName FILE,生成FILE.gpg
8、複制加密檔案到A主機:scp FILE.gpg IPA:/目标位置
9、在A主機解密檔案:gpg -d FILE.gpg,如果解密後檔案需要存放,gpg -o FILE -d FILE.gpg
10、删除公鑰和私鑰:gpg --delete-keys PUBLICKEY,gpg --delete-secret-keys PRIVATEKEY
建立CA和申請證書
1、建立私有CA
打開openssl的配置檔案:/etc/pki/tls/openssl.cnf
根據自己需要建立的環境挑選環境中的policy中選用policy_match還是policy_anything
policy_default中比較嚴格,要求被授權方國家名、省名、組織名必須一樣,如果在公司内部建立私有CA,此處可選擇policy_anything
2、建立所需必備檔案
touch /etc/pki/CA/index.txt
echo 01 > /etc/pki/CA/serial
3、自簽證書
生成私鑰
cd /etc/pki/CA
(umask 066;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048),自簽證書的私鑰名必須為cakey.pem
4、生成自簽名證書
openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out cacert.pem -days 365
-new:生成新證書請求
-x509:專用于CA生成自簽證書
-key:生成請求時用到的私鑰檔案
-day NUM:證書有效期
-out /目錄:證書的儲存路徑
5、給需要使用證書的主機生成證書請求
(1)給web伺服器生成私鑰
(umask 066;openssl genrsa -out /etc/pki/tls/private/SERVER.key 2048)
(2)生成證書申請檔案
openssl req -new -key /etc/pki/tls/private/SERVER.key -days 365 -out /etc/pki/tls/SERVER.csr,這裡出現的互動式界面填寫要和第4步填的一樣,否則在第1步就需要選擇policy_anything
6、将證書請求檔案傳輸給CA:scp SERVER.csr IPCA:/位置
7、CA簽署證書,并将證書頒發給請求者
openssl ca -in /位置/SERVER.csr -out /etc/pki/CA/certs/SERVER.crt -days 365
scp /etc/pki/CA/certs/SERVER.crt IPSERVER:/位置
8、檢視證書中的資訊
openssl x509 -in /PATH/FROM/CERT_FILE -noout -text/issuer/subject/serial/dates
openssl ca -status SERIAL 檢視指定編号的證書狀态
9、吊銷證書
(1)在用戶端擷取要吊銷的證書serial
openssl x509 -in /位置/ -noout -serial -subject
(2)在CA上,根據客戶送出的serial與subject資訊,對比驗證是否與index.txt檔案中的資訊一緻,吊銷證書:
openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem
(3)指定第一個吊銷證書的編号
echo 01 > /etc/pki/CA/crlnumber