一、前言废话
受到12306的启发,我们自己从根证书起搭建一条完整的信任链。本章中我们使用OpenSSL生成根证书,并使用根证书签发服务器证书。
二、OpenSSL的安装
下载OpenSSL安装包,此处使用了Win64OpenSSL-1_1_0i版本。安装过程全程下一步,无特殊配置。
截图1: 安装OpenSSL为了方便操作将其bin目录路径配置到path变量中(也可以不做)
三、修改配置文件
1.修改配置文件C:\OpenSSL-Win64\bin\openssl.cfg
2.修改[ req ]部分,打开OpenSSL拓展
[ req ]
default_bits = 2048
default_keyfile = privkey.pem
distinguished_name = req_distinguished_name
attributes = req_attributes
x509_extensions = v3_ca # The extensions to add to the self signed cert
req_extensions = v3_req
3.修改[ v3_req ]部分,增加subjectAltName 一行
[ v3_req ]
subjectAltName = @alt_names
4.修改[ alt_names ]部分,增加dns地址。若使用ip直接访问该网站也可直接添加ip地址(会在证书部分暴露ip地址,存在安全隐患)
[ alt_names ]
DNS.1 = webadaptorname.domain.com
DNS.2 = servername.domain.com
DNS.3 = portalname.domain.com
IP.1=192.168.*.*
5.修改生成证书默认路径
[ CA_default ]
dir = ./rootCA
[ tsa_config1 ]
dir = ./rootCA
四、生成CA根证书和服务器证书
1.打开OpenSSL的bin目录C:\OpenSSL-Win64\bin,新建文件夹certs放CA根证书,新建文件夹newcerts放服务器证书,新建private放密码文件
2.打开cmd ,浏览到bin目录。执行以下命令行。
> mkdir rootCA\private rootCA\newcerts
> type nul > rootCA\index.txt
> echo 01 > rootCA\serial
3.打开cmd窗口,在bin路径下输入OpenSSL进入
截图1:创建根证书私钥key文件#创建根证书私钥key文件
genrsa -out private/rootcakey.pem 1024
截图2:签发CA根证书#签发CA根证书
req -new -x509 -days 3650 -key private/rootcakey.pem -out certs/rootcakey.cer -extensions v3_ca -subj "/C=CN/ST=GD/L=GZ/O=esrichina/OU=gz/CN=sjzx"
截图3:创建服务器证书私钥key文件#创建服务器证书私钥key文件
genrsa -out private/webgisserver.pem 1024
截图4:生成服务器证书请求#生成服务器证书请求
req -new -days 3650 -key private/webgisserver.pem -out certs/webgisserver.csr -subj "/C=CN/ST=GD/L=GZ/O=esrichina/OU=gz/CN=sjzx" -extensions v3_req -config C:\OpenSSL-Win64\bin/openssl.cfg
截图5:用根证书签发服务器证书#用根证书签发服务器证书
ca -in certs/webgisserver.csr -days 3650 -out newcerts/webgisserver.cer -cert certs/rootcakey.cer -keyfile private/rootcakey.pem -extensions v3_req -config C:\OpenSSL-Win64\bin/openssl.cfg
截图6:用根证书签发服务器证书
五、证书文件
在C:\OpenSSL-Win64\bin\certs路径下得到根证书,在C:\OpenSSL-Win64\bin\newcerts得到服务器证书。
截图7:根证书文件截图8:服务器证书文件
网友评论