跳到主要内容

自建CA并签发证书

· 5 分钟阅读
月子喵

为了家里内网服务部署的方便使用了统一的域名 haozi.local , 这是一个本地域名, 没法通过常规的方式申请有效的https证书, 所以需要在内网搭建一个专门的CA,用于签发这个域名的证书等, 后面我们将搭建一个 letsencrypt的服务端, 自动签发

自建CA颁发机构

查看 /etc/pki/tls/openssl.cnf 配置文件, 一般用的话不需要修改, 这里为了内网使用方便修改了 default_days (证书的有效时间, 默认365天)参数.还有home 等文件位置

生成CA证书

使用 RSA 算法生成 2048 位 CA 私钥

加载中.....

生成CA证书请求文件, 按照提示填写正确的信息

加载中.....

ca.cert.pem 这个文件就可以发给各个客户端进行安装, 用于信任之后签发的所有证书

这里是在 mac 上, (在 Trust Tab 里面, 将信任设置为一直信任)

MAC上的信息
Preview

给 k8s-dashboard-haozi.local 签发证书

生成服务器私钥

加载中.....

生成自签名证书

加载中.....

使用 CA 签名证书

复制一份 openssl.conf 到自己的文件夹, 修改一下的配置

这部分是 CA 证书的配置

加载中.....

这部分是要签名的证书的配置

加载中.....

按照上面的配置创建以下文件和文件夹

加载中.....

-config处填写为自己上面的 openssl.conf 的位置

加载中.....
加载中.....

如果出现了 The stateOrProvinceName field needed to be the same in the 这个问题 参考 The stateOrProvinceName field needed to be same

MAC上SSL
Preview

测试

nginx 写上测试站点, 查看一下效果

加载中.....

MAC上SSL
Preview

正常如此