自己生成https证书

2020.06.17 - yearnfar

工作中经常需要绑定域名到本地进行开发,我就经常使用*.hp.dev作为自己的本地开发域名。现代浏览器都默认跳转到https地址,会对我们开发造成一些麻烦,这里我通过自己生成https证书,解决本地开发绑定的域名不支持https的问题。

本地生成CA

生成本地CA的密钥rootCA.key(要记住你设置的密码)

用这个密钥进行签名,生成一张CA的证书rootCA.pem这里设置了有效期(1024天),里面可以填下密码,email地址其他的可以留空。

生成网站数字证书

为了避免chrome的NET::ERR_CERT_COMMON_NAME_INVALID错误,需要在网站证书里填一些额外的信息。
首先创建文件server.csr.cnf

请把emailAddress、CN改为你的邮箱和域名。

然后创建文件v3.ext,请把DNS.1、DNS.2修改为你的域名

server.csr.cnf配置生成网站证书server.csr,同时生成网站私钥device.key(给nginx用的)

用CA私钥rootCA.key以CA的名义(rootCA.pem)给网站证书签名,生成CA签名后的证书hp.dev.crt,同时加上v3.ext中的配置,

注意: days时间不要超过39个月,否则chrome会报错 NET::ERR_CERT_VALIDITY_TOO_LONG

到这里我们就准备好了下一步nginx要用到的两个文件:

配置nginx

信任CA证书

如果是mac系统,双击第一步生成rootCA.pem证书把他安装到钥匙串中。

查看效果

Firefox使用自己独立的证书管理器(Certificates Manager),并没有像 IE 和 Chrome 那样直接使用系统中的证书存储。所以如果使用Firefox浏览器,我们还需要重新在 Firefox 中添加一回。下面介绍如何将自签发的 SSL 证书导入为 Firefox 中的受信任根证书。

阅 358
0

工作中经常需要绑定域名到本地进行开发,我就经常使用*.hp.dev作为自己的本地开发域名。现代浏览器都默认跳转 […]