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访问单项认证谷歌有效证书的主要内容,如果未能解决你的问题,请参考以下文章

linux自建证书搭建https(单项加密)

前后端分离项目中 springboot 集成 shiro 实现权限控制

iOS ATS AFNetworking 单项认证

如何让springboot打包的项目部署在阿里云上使用https和http方式访问

SpringBoot整合Shiro 四:认证+授权

nginx 正向代理 配置https 双向认证