https工作原理

1.客户端输入https的网址,连接到服务器端443端口
2.服务端加载CA证书
3.服务端向客户端发送CA证书
4.客户端TLS解析证书,检验通过后,生产随机数,用CA证书中的公钥进行非对称加密
5.客户端把加密后的随机数发送给服务端
6.服务端用私钥解密随机数
7.服务端用随机数对称加密数据,发送到客户端
8.客户端用随机数对称解密数据
openssl常用命令
1 2 3 4 5
| openssl passwd -6 -salt nd 123456 #生成密码,-salt 为盐 useradd -p $(echo "123456" | openssl passwd -6 -salt nd -stdin) test01 #创建指定密码的用户 openssl rand -base64 9 #生成10位随机密码 openssl genrsa -out ./test.key -aes256 2048 # 生成私钥 openssl rsa -in test.key -pubout -out test.key.pub #从私钥中提取公钥
|
建立私有CA证书颁发服务
1.生成证书申请请求
2.RA核验
3.CA签署
4.获取证书
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| cat /etc/pki/tls/openssl.cnf #配置文件 ubutu /usr/lib/ssl/openssl.cnf 配置文件修改相对路径 #修改策略 policy_match #配置策略 match 申请的信息和CA的信息必须一致,optional 可有可无 supplied 必填 countryName = match stateOrProvinceName = match organizationName = match organizationalUnitName = optional commonName = supplied emailAddress = optional
#创建私有CA 1.创建CA所需的文件 mkdir -p /etc/pki/CA # mkdir -p /etc/pki/CA/certs mkdir -p /etc/pki/CA/crl mkdir -p /etc/pki/CA/newcerts touch /etc/pki/CA/index.txt echo 01 > /etc/pki/CA/serial
2.生成CA私钥 cd /etc/pki/CA openssl genrsa -out ./private/cakey.pem 2048
3.生成CA自签名证书 openssl req -new -x509 -key cakey.pem -days 3650 -out ./cacert.pem
4.申请证书并颁发证书 #为使用证书的主机生成私钥 openssl genrsa -out ./data/test.key 2048 #为使用证书的主机生成申请文件 openssl req -new -key ./data/test.key -out ./data/test.csr #在CA签署证书并将证书颁发给申请者 openssl ca -in ./data/test.csr -out certs/test.crt -days 3650
#生成服务器端证书 openssl x509 -req -in ./data/cockpit.csr -signkey ./data/cockpit.key -out ./data/cockpit.pem
|
证书相关文件说明
.csr 申请证书文件,包含证书信息和私钥
.key 证书私钥文件,需要在服务器端配置
.crt 已签名的证书,包含公钥信息
.pem Pem文件可以包含证书(.crt、.cer)和私钥(.key)的内容
同步时间
安装chrony
修改/etc/chrony.conf
时间服务链接
1 2 3 4 5
| server ntp.ntsc.ac.cn iburst server cn.ntp.org.cn iburst #其他机器配置为时间服务IP
|