OpenSSL解决ArcGIS软件部署的证书问题(二)--创建根

2019-12-25  本文已影响0人  昶衿莅

一、前言废话

受到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进入

#创建根证书私钥key文件 

genrsa -out private/rootcakey.pem 1024

截图1:创建根证书私钥key文件

#签发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"

截图2:签发CA根证书

#创建服务器证书私钥key文件

genrsa -out private/webgisserver.pem 1024

截图3:创建服务器证书私钥key文件

#生成服务器证书请求

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

截图4:生成服务器证书请求

#用根证书签发服务器证书

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

截图5:用根证书签发服务器证书
截图6:用根证书签发服务器证书

五、证书文件

在C:\OpenSSL-Win64\bin\certs路径下得到根证书,在C:\OpenSSL-Win64\bin\newcerts得到服务器证书。

截图7:根证书文件
截图8:服务器证书文件
上一篇下一篇

猜你喜欢

热点阅读