生成证书
keytool -genkey -alias gourd -keypass 123456 -keyalg RSA -keysize 1024 -validity 3650 -keystore gourd.p12 -storepass 123456 -deststoretype pkcs12
参数:
这几个参数对应项目yaml中配置
- alias :秘钥库别名
- storepass:秘钥库密码
- deststoretype:密钥库类型
操作如下,弹出的信息,随便填写就可以了
项目改造
- 将生成的证书拷贝到项目 resources目录
- 增加配置
server:
# 支持https
ssl:
enabled: true
key-store: classpath:gourd.p12
key-store-password: 123456
key-store-type: pkcs12
key-alias: gourd
避坑
项目启动报错:
Caused by: java.io.IOException: DerInputStream.getLength():
lengthTag=111, too big.
这个问题我也遇到了,百度了很长时间,各种帖子都没有解决,最后将密码改成了:123456,问题解决。(原密码:gourd123)
测试
启动项目后,使用http访问报错:
使用https访问:
当然也可以通过Nginx配置https:
https://aotu.io/notes/2016/08/16/nginx-https/index.html