通过OpenSSL生成证书并让Chrome浏览器识别为安全终极办法
阅读原文时间:2021年04月20日阅读:1

这种生成证书的方式,最关键的在于有subjectAltName这个值,Chrome浏览器主要识别这个,因此在生成证书的时候要区分自己环境的情况,以下分为三种类型

友情链接:通过ip配置ArcGIS Enterprise及创建证书全过程--以windows10安装ArcGIS Enterprise10.7.1为例

                  OpenSSL创建的自签名证书在chrome端无法信任之(II)

                  统一证书

目录

1、安装OpenSSL (Linux无需此步骤)

1.1、下载windows上适用的openssl

1.2、设置环境变量

2、生成证书

2.1 Windows版

2.2 Linux版同理

2.3 关键信息

2.3.1 单机环境,使用域名配置

2.3.2 分布式部署,使用域名配置

2.3.3 单机配置,使用IP配置

3、完整代码

4、统一证书(服务器端导入pfx格式证书)

4.1 替换ArcGIS Portal使用的证书

4.1.1导入现有证书

4.1.2 替换证书

4.2  替换ArcGIS Server使用的证书

4.2.1 导入现有证书

4.2.2 替换证书

4.3  替换IIS或tomcat里的证书(必须)

4.4  在客户端浏览器中导入证书cer格式(必须)



1、安装OpenSSL (Linux无需此步骤)

1.1、下载windows上适用的openssl

下载地址,因我的电脑是64位的,所以我选择下载OpenSSL 1.0.2t Light(64-bit)

按照默认位置安装即可,无需多余设置

1.2、设置环境变量

2、生成证书

2.1 Windows版

以管理员身份运行cmd,生成证书

我的电脑只有一个盘,所以我先cd到了c盘,然后运行命令,换言之,在哪里运行命令,哪里就是输出路径

完整过程如下图所示

2.2 Linux版同理

2.3 关键信息

2.3.1 单机环境,使用域名配置

echo "subjectAltName=DNS:zhangs.esrichina.com.com" > cert_extensions

2.3.2 分布式部署,使用域名配置

echo "subjectAltName=DNS.1:zhangs.esrichina.com.com,DNS.2:p1.esrichina.com.com,DNS.3:p2.esrichina.com.com,DNS.4:s1.esrichina.com.com,DNS.5:s2.esrichina.com.com,DNS.6:t1.esrichina.com.com" > cert_extensions

2.3.3 单机配置,使用IP配置

echo "subjectAltName=DNS:zhangs.esrichina.com.com,IP:192.168.100.83" > cert_extensions

3、完整代码

其中echo这句的写法参照上面三种情况

c:\>openssl genrsa -out 136zhengshu.key 2048
Generating RSA private key, 2048 bit long modulus
................................................+++++
.....+++++
e is 65537 (0x10001)
 
c:\>openssl req -new -key 136zhengshu.key -out 136zhengshu.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:Beijing
Locality Name (eg, city) []:Beijing
Organization Name (eg, company) [Internet Widgits Pty Ltd]:EsriChina
Organizational Unit Name (eg, section) []:Esrichina
Common Name (e.g. server FQDN or YOUR name) []:192.168.100.136
Email Address []:aoj@esrichina.com.cn
 
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:1234
An optional company name []:esrichina
 
c:\>echo subjectAltName=IP:192.168.100.136,DNS:win136.esrichina.com >cert_extensions
 
c:\>openssl x509 -req -sha256 -in 136zhengshu.csr -signkey 136zhengshu.key -extfile cert_extensions -out 136zhengshu.crt -days 3650
Signature ok
subject=/C=CN/ST=Beijing/L=Beijing/O=EsriChina/OU=Esrichina/CN=192.168.100.136/emailAddress=aoj@esrichina.com.cn
Getting Private key
 
 
 
c:\>openssl pkcs12 -inkey 136zhengshu.key -in 136zhengshu.crt -export -out 136zhengshu.pfx
Enter Export Password:
Verifying - Enter Export Password:
 
c:\>

生成的文件如下:

4、统一证书(服务器端导入pfx格式证书)

注:server和portal导入证书后需要重启系统服务

4.1 替换ArcGIS Portal使用的证书

4.1.1导入现有证书

      登陆门户的管理员目录(https://机器域名/arcgis/portaladmin/),单击Security > SSLCertificates > Import Existing Server Certificate,选择1步骤生成的证书,如图:

4.1.2 替换证书

    登陆门户的管理员目录(https://机器域名/arcgis/portaladmin/),单击Home > Security > SSLCertificates > Update,在Web server SSL Certificate 参数中填写上一步骤导入的证书名称,如图:

4.2  替换ArcGIS Server使用的证书

4.2.1 导入现有证书

    登陆站点的管理员目录(https://机器域名:6443/arcgis/admin/),单击machine-> 机器名称 -> sslcertificates-> importExistingServerCertificate,选择1步骤生成的证书,如图:

4.2.2 替换证书

登陆站点的管理员目录(https://机器域名:6443/arcgis/admin/),单击machine-> 机器名称 -> edit,在Web server SSL Certificate 参数中填写上一步骤导入的证书名称,如图:  

     统一证书完成之后,可以在机器上双击1步骤生成的证书进行安装,或者在客户机访问门户的时候,查看证书并将证书导出进行安装,在安装时选择受信任的根证书颁发机构

4.3  替换IIS或tomcat里的证书(必须)

查看证书颁发给谁,可通过如下方式

如果访问的网站,地址栏里的域名或ip,和证书里的一样,那么就不需要更换,如果不一样,则需要更换

更换步骤,以IIS为例

先将前面生成的证书导入到IIS的服务器证书里,例如名称为zhengshutest

点击编辑绑定后,出现下图所示的界面,双击下面的https那行,编辑,将最下面的证书换成前面导入的zhengshutest,保存即可

4.4  在客户端浏览器中导入证书cer格式(必须)

以Chrome浏览器为例

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章