SpringBoot项目配置https访问单项认证谷歌有效证书
Posted 敲代码的小小酥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot项目配置https访问单项认证谷歌有效证书相关的知识,希望对你有一定的参考价值。
单项认证&&双向认证
单向验证中,如果是你客户端,你需要拿到服务器的证书,并放到你的信任库中;如果是服务端,你要生成私钥和证书,并将这两个放到你的密钥库中,并且将证书发给所有客户端。
双向验证中,如果你是客户端,你要生成客户端的私钥和证书,将它们放到密钥库中,并将证书发给服务端,同时,在信任库中导入服务端的证书。如果你是服务端,除了在密钥库中保存服务器的私钥和证书,还要在信任库中导入客户端的证书。
使用单向验证还是双向验证,是服务器决定的。
具体介绍可参考文章:HTTPS实战之单向验证和双向验证
配置单项认证
上面提到,配置单项认证还是双向认证,是服务端决定的。服务端要生成私钥和证书,把私钥放到密钥库,证书发给客户端。下面讲解具体的操作步骤:
第一步:生成服务端私钥,用jdk自带的keytool工具生成:
打开cmd窗口,输入命令:
keytool -genkey -v -alias tomcat -keyalg RSA -keystore ./tomcat.keystore -validity 36500 -ext SAN=dns:域名,ip:后端服务ip
执行完命令后,生成私钥tomcat.keystore文件。这里需要特别强调的是,上述命令必须要写SAN=dns:域名,ip:后端服务ip
这段命令,配置正确的域名和ip。如果没有域名,则写localhost,只要配置正确的ip即可。如果不加这段命令,后面生成的证书是无效的。
执行上述命令时,需要填写一些信息。记住自己设置的密码即可。其他信息随便填。
第二步:生成客户端证书:
执行以下命令,生成cer证书:
keytool -keystore ./tomcat.keystore -export -alias tomcat -file ./tomcat.cer
第三步:服务端配置.keystore私钥:
将第一步生成的.keystore私钥放入SpringBoot的resources文件夹下:
然后在application.yml中配置私钥:
第四步:客户端安装cer证书。
如果客户端不安装证书,那么访问SpringBoot项目提供的页面时,会出现如下界面:
所以需要安装证书,不再出现此界面。
双击第二步生成的cer文件,
选择此项,导入证书即可。
双向认证配置
可参考文章:
JDK制作自签名证书,实现双向认证,解决谷歌浏览器证书无效问题,亲测有效
以上是关于SpringBoot项目配置https访问单项认证谷歌有效证书的主要内容,如果未能解决你的问题,请参考以下文章
前后端分离项目中 springboot 集成 shiro 实现权限控制