发现chrome验证证书很严格,必须带有Subject Alternative Name.

编辑 OpenSSL 配置文件

配置文件一般是在目录C:\Program Files\Common Files\SSL下的openssl.cnf文件
把它复制到要生成证书的文件夹
[ req ]节添加

req_extetions = v3_req

生成 CSR 文件时读取名叫 v3_req 的节的配置,

[ v3_req ] # Extensions to add to a certificate request 
basicConstraints = CA:FALSE 
keyUsage = nonRepudiation, digitalSignature, keyEncipherment 
subjectAltName = @alt_names

alt_names添加域名

DNS.1 = localhost
DNS.2 = your.doman.com
IP.1 = 127.0.0.1

生成CSR证书和私钥

运行这串指令来生成证书和私钥

openssl req -sha256 -newkey rsa:2048 -nodes -keyout  ssl.key -x509 -days 3650 -out  ssl.crt -config ./openssl.cnf -extensions v3_req

执行过程钟根据提示输入省份(province)、城市(city)、和组织名称、邮件。不出意外的话,运行后当前目录会生成ssl.keyssl.crt两个文件。
然后双击ssl.crt来安装证书:
存储位置选择本地计算机,证书存储区一定要选受信任的根证书颁发机构
导入完成后,Chrome即可信任这个自签证书。

将证书导入到IIS

ssl.keyssl.crt所在目录下运行下面的指令来生成ssl.pfx

openssl pkcs12 -export -out ssl.pfx -inkey ssl.key -in ssl.crt

中途会让你输入密码,输入一个记得住的就行。
然后打开IIS,选择服务器证书,导入刚刚生成的ssl.pfx,输入刚刚设置的密码,选择证书存储Web 宿主,导入即可在网站配置https选择你刚刚导入的证书。