这种生成证书的方式,最关键的在于有subjectAltName这个值,Chrome浏览器主要识别这个,因此在生成证书的时候要区分自己环境的情况,以下分为三种类型
友情链接:通过ip配置ArcGIS Enterprise及创建证书全过程--以windows10安装ArcGIS Enterprise10.7.1为例
OpenSSL创建的自签名证书在chrome端无法信任之(II)
目录
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浏览器为例