在Spring Boot项目中使用https(jks)
SpringBoot配置HTTPS
在工作中时长会遇到配置https,SpringBoot自带的是tomcat服务器一般使用的.jks文件配置SSL加密。
过程中会用到两个工具:OpenSSL,Keytool工具。
OpenSSL:下载地址:http://slproweb.com/products/Win32OpenSSL.html
keytool工具,这是jdk自带的工具,在jdk的/bin目录下可以找到。
自己生成CSR
https供应商不会直接提供.jks文件。所以,我们就需要将加密文件转换成所需要的jks文件。
- 解压已下载的证书压缩包,获得“xxx.pem”文件和xxx.key文件
“server.pem”文件包括两段证书代码“—–BEGIN CERTIFICATE—–”和“—–END CERTIFICATE—–”,分别为服务器证书和中级CA证书。
- 使用OpenSSL工具,将pem格式证书转换为PFX格式证书,得到“server.pfx”文件。
找到openssl的bin目录,找到openssl.exe文件,单击右键以管理员身份运行,打开命令行,输入命令:
1 | pkcs12 -export -out D:\xxx.pfx -in D:\xxx.pem -inkey D:\xxx.key |
按照要求输入两次密码,这时在d盘生成了xxx.pfx文件
请牢记此处输入的PFX证书密码。后续设置JKS密码需要与此处设置的PFX密码保持一致,否则可能会导致Tomcat启动失败。
- 使用Keytool工具,将PFX格式证书文件转换成JKS格式,得到“xxx.jks”文件。按照提示输入2次JKS证书密码
1
keytool -importkeystore -srckeystore D:\xxx.pfx -destkeystore D:\xxx.jks -srcstoretype PKCS12 -deststoretype JKS
第三次提示输入源密钥库口令:
输入生成xxx.pfx中设置PFX证书密码
查看D盘下是否生成 xxx.jks
生成完成后,新建一个“keystorePass.txt”文件,将JKS的密码保存在该文件中。
在SpringBoot中配置
将xxx.jks放入resources文件夹下
1 | #配置jks存放位置 |
启动测试
同时配置http和https都能访问
新加配置
1 | #http端口号 |
在SpringBoot启动类中添加
1 | // 获取配置端口 |