网页的http->https
1.生成根证书密钥
# 生成rsa私钥,openssl格式,4096位强度,*.key是密钥文件名
openssl genrsa -out ca.key 4096
2.生成自签名根证书
# 生成的ca.crt文件是用来签署下面的server.csr文件。
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
3.使用根证书来签名其它证书
# 生成证书密钥
openssl genrsa -out server.key 4096
# 执行这条命令需要依次输入国家、地区、组织、email,common name可以写名字或者域名。如果为了https申请,必须和域名相吻合
新建san.conf
,并加入以下内容
[req]
default_bits = 4096
distinguished_name = req_distinguished_name
req_extensions = v3_req
[req_distinguished_name]
countryName = country
stateOrProvinceName = province
localityName = city
organizationName = company name
commonName = domain name or ip
[v3_req]
subjectAltName = @alt_names
[alt_names]
IP.1=10.0.0.172 (换成本机地址!!!)
4.生成证书签名请求(CSR)
# 生成csr 注意要使用sha256算法(推荐是sha256算法,默认算法浏览器会报弱加密算法错误)
openssl req -new -key server.key -out server.csr -config san.conf -sha256
# 查看csr信息
openssl req -text -in server.csr
5.使用根证书按照csr给证书签名,生成新证书server.crt
# 这里serial参数需要全局唯一,否则在同一台设备上使用serial值相同的证书会冲突。
openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt -extfile san.conf -extensions v3_req
# 查看证书
openssl x509 -text -in server.crt
把ca.crt 导入到客户端谷歌浏览器https 受信任的证书里面