【spring boot】配置ssl证书实现https

【前言】这里介绍在spring boot中配置真正的ssl证书,而不是自己随便玩玩的那种证书。

【申请证书】以COMODO申请证书为例:

  • 首先在服务上用openssl生成公钥和私钥

openssl req -new -key myPrivateKey.key -out server.csr

myPrivateKey.key自己保存,server.csr提交给代理商进行签名,代理商签名完成后会给出 yourDomain.crt文件


  • 注意我们是在Java环境中,常用的证书形式有p12格式的,jks格式的,所以需要做转换,以p12为例

openssl pkcs12 -export -clcerts -in yourDomain.crt -inkey myPrivateKey.key -out server.p12


这样生成了spring boot上可以用的私钥格式文件 server.p12

在这个转换的过程中要求输入一个密码,请记住这个密码


【配置spring boot】

  • 首先用命令查询一下别名

keytool -list -keystore server.p12

运行该命令会提示你输入密码,就是上面设置的密码,输入密码后会显示:

您的密钥库包含 1 个条目


1, 2017-1-7, PrivateKeyEntry

注意这个1这是我们运行这个命令的目的


  • 把server.p12复制到spring boot的 src/main/resources/ 目录下,和application.properties平级

  • 在application.properties中添加如下内容

server.port=8443

server.ssl.key-store:classpath:server.p12

server.ssl.key-store-password: 密码

server.ssl.keyStoreType: PKCS12

server.ssl.keyAlias: 1


8443是端口号
classpath就是指目录 src/main/resources/ ,注意冒号,跟上秘钥文件名
密码就是上面输入过的密码内容
我们用的p12是PKCS12
别名,1,privateKey都是1

【结语】直接在springboot里面配置是为了应对简单的服务,真正的系统会在nginx上配置证书。




你可能感兴趣的:(【spring boot】配置ssl证书实现https)