您的位置:首页 > 理论基础 > 计算机网络

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

2017-01-07 01:01 836 查看
【前言】这里介绍在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上配置证书。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ssl springboot