准备工具(mkcert、openssl、keytool)
mkcert下载地址https://github.com/FiloSottile/mkcert/releases
Openssl(Linux一般自带)Windows系统下载exe安装文件配置系统环境变量
证书生成
根证书和子证书生成
进入mkcert工具存放的目录
cd C:/
输入下列命令进行安装
mkcert-v1.4.3-windows-amd64.exe -install
输入查询是否安装成功
mkcert-v1.4.3-windows-amd64.exe
输入命令,列出CA证书的存放路径,该路径下将生成根证书 rootCA.pem ,将对应名称进行修改后缀为 rootCA.crt
mkcert-v1.4.3-windows-amd64.exe -CAROOT
生成本地访问的证书的公钥和私钥,生成的SSL证书存放在当前运行目录下,其中.pem为公钥,-key.pem为私钥
mkcert-v1.4.3-windows-amd64.exe localhost 127.0.0.1 ::1
上述命令将生成子证书 localhost+2.pem localhost+2-key.pem
生成 pkcs12 文件
将上述的 localhost+2.pem localhost+2-key.pem 复制,并执行下面的命令
openssl pkcs12 -export -in localhost+2.pem -inkey localhost+2-key.pem -out keystore.p12
openssl 将提示输入密码,确认输入密码(记住此密码)
子证书 p12 证书转 JKS
keytool -v -importkeystore -srckeystore keystore.p12 -srcstoretype PKCS12 -destkeystore keystore.jks -deststoretype JKS
按提示输入密码,为了方便记忆可将三个密码设置为一样的
证书使用
(1) 生成后的 jks 文件就可以直接放到服务使用
(2) rootCA 证书下发给客户端,在客户端中进行安装
根证书安装
点击 rootCA.crt 进行根证书安装
![](https://img.haomeiwen.com/i11473564/e28eb5004b011961.png)
![](https://img.haomeiwen.com/i11473564/b5b76fa8390883ab.png)
![](https://img.haomeiwen.com/i11473564/21eeb810816e6bbe.png)
![](https://img.haomeiwen.com/i11473564/752760f3723633d2.png)
证书信任验证
在 springboot 中使用生成的JKS 证书并发布服务后在浏览器中访问验证
![](https://img.haomeiwen.com/i11473564/3c9df1fcd19f93ca.png)
网友评论