记得以前做实验都是用的Windows Server,直接安装证书颁发机构。
优点:中文、GUI
缺点:申请证书的自带web页面只支持IE,好像用的ActiveX
为了方便,这里还是用Windows系统,工具是OpenSSL(Win版)第三方编译打包的,不是官方的,官方只提供源码,我不想自己编译,就用别人编译好的。
首先安装,这个就不细说了,直接给个下载地址:
https://slproweb.com/products/Win32OpenSSL.html
下载x64(64位)
light是给用户用的,下面的是给开发人员用的
安装完后配置环境变量。
配置为安装目录
配置完后检查是否生效。
配置完毕
然后开始证书签发,首先生成CA。
创建CA私钥-2048位
openssl genrsa -out ca.key 2048
创建一个2048位的CA私钥文件,然后创建CA证书。
创建CA证书-3650天(10年)
openssl req -new -x509 -key ca.key -out ca.crt -days 3650
配置相关信息后生成CA证书,然后使用生成好的CA证书进行证书签发,首先生成证书私钥文件。
创建服务器证书私钥
openssl genrsa -out ca.nic.shikangsi.com.key 2048
使用私钥文件生成证书请求文件(CSR)
创建服务器证书请求文件
openssl req -new -key ca.nic.shikangsi.com.key -out ca.nic.shikangsi.com.csr
此时可以直接使用CA进行证书签发
openssl x509 -req -days 365 -sha256 -CA ca.crt -CAkey ca.key -CAcreateserial -in ca.nic.shikangsi.com.csr -out ca.nic.shikangsi.com.crt
此时已完成证书签发,但是配置到网站后,Chrome打开会报错。
重要提示:Chrome要求配置备用名称,需要新建一个文件配置。
新建文件,openssl.cnf,内容如下#后为注释,可填写多个域名或IP:
新建openssl.cnf文件,下面是内容
[v3_req]
subjectAltName = @alt_names
[alt_names]
DNS.1 = ca.nic.shikangsi.com
#DNS.2 = www.localhost.com
#DNS.3 = www.test123.com
#IP.1 = 127.0.0.1
然后签发符合Chrome要求的证书
颁发符合Chrome要求的证书
openssl x509 -req -days 365 -sha256 -CA ca.crt -CAkey ca.key -CAcreateserial -extfile openssl.cnf -extensions v3_req -in ca.nic.shikangsi.com.csr -out ca.nic.shikangsi.com.crt
此时证书签发完毕,配置后Chrome访问时不会报错。
使用自建CA证书时需安装CA证书。
安装完毕后再打开已签发证书。
证书签发完毕,可以使用。
评论区