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