gpg工具實現對稱加密
web
公鑰加密服務器
在B主機公鑰加密,在A主機上解密的實現:ide
一、在A上生成公鑰私鑰對兒:gpg --gen-key,出現交互式界面能夠按照默認選擇,最後一項必須輸入用戶id用以識別鑰匙,Email和註釋能夠不填,以後選o,完成後輸入密碼,也能夠不輸工具
二、在A上查看公鑰:gpg --list-keys 加密
三、在A上導出公鑰到chen.pubkey:gpg -a --export -o chen.pubkey,(在哪一個目錄作此命令,公鑰就在哪一個目錄)spa
四、從A上覆制公鑰文件到需加密的B上:scp chen.pubkey B的IP:/目標位置 (不輸位置默認放到root家目錄)blog
五、在需加密的B上生成公鑰私鑰對兒,和第1步同樣的指令ssl
六、在B上導入A的公鑰,gpg --import chen.pubkey,並查看gpg --list-keys openssl
七、用從A主機導入的公鑰,加密B主機的文件FILE,生成FILE.gpg,gpg -a -r A的密鑰UserName FILE,生成FILE.gpg web服務器
八、複製加密文件到A主機:scp FILE.gpg IPA:/目標位置
九、在A主機解密文件:gpg -d FILE.gpg,若是解密後文件須要存放,gpg -o FILE -d FILE.gpg
十、刪除公鑰和私鑰:gpg --delete-keys PUBLICKEY,gpg --delete-secret-keys PRIVATEKEY
建立CA和申請證書
一、建立私有CA
打開openssl的配置文件:/etc/pki/tls/openssl.cnf
根據本身須要創建的環境挑選環境中的policy中選用policy_match仍是policy_anythingpolicy_default中比較嚴格,要求被受權方國家名、省名、組織名必須同樣,若是在公司內部創建私有CA,此處可選擇policy_anything
二、建立所需必備文件
touch /etc/pki/CA/index.txt
echo 01 > /etc/pki/CA/serial
三、自簽證書
生成私鑰
cd /etc/pki/CA
(umask 066;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048),自簽證書的私鑰名必須爲cakey.pem
四、生成自簽名證書
openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out cacert.pem -days 365
-new:生成新證書請求
-x509:專用於CA生成自簽證書
-key:生成請求時用到的私鑰文件
-day NUM:證書有效期
-out /目錄:證書的保存路徑
五、給須要使用證書的主機生成證書請求
(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
六、將證書請求文件傳輸給CA:scp SERVER.csr IPCA:/位置
七、CA簽署證書,並將證書頒發給請求者
openssl ca -in /位置/SERVER.csr -out /etc/pki/CA/certs/SERVER.crt -days 365
scp /etc/pki/CA/certs/SERVER.crt IPSERVER:/位置
八、查看證書中的信息
openssl x509 -in /PATH/FROM/CERT_FILE -noout -text/issuer/subject/serial/dates
openssl ca -status SERIAL 查看指定編號的證書狀態
九、吊銷證書
(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
(4)查看crl文件
openssl crl -in /etc/pki/CA/crl.pem -noout -text