spring boot,https,双向ssl认证

一、生成服务器端证书

1、在cmd窗口执行命令:keytool -genkey -v -alias server -keyalg RSA -storetype PKCS12  -keystore  c:\keystore\server.keystore,

  密码随意,自己记住就行。

二、生成客户端证书

1、在cmd窗口执行命令:keytool -genkey -v -alias test -keyalg RSA -storetype PKCS12 -keystore c:\keystore\test.p12,

  密码随意,自己记住就行。

三、导出客户端证书

1、导出客户端证书公钥cer文件。

  在cmd窗口执行命令,输入之前自己设置的密码:

  keytool -export -alias test -keystore c:\keystore\test.p12 -storetype PKCS12  -rfc -file c:\keystore\test.cer

 

2、将客户端公钥导入服务器证书。

  在cmd窗口执行命令,输入之前自己设置的密码:

  keytool -import -v -file c:\keystore\test.cer -keystore c:\keystore\server.keystore

四、安装客户端证书

 双击c:\keystore目录下的test.p12文件,点击下一步:

 再次点击下一步:

输入生成证书时设置的密码,点击下一步:

将证书文件存储为个人,点击下一步:

点击完成:

四、添加springboot支持

1、将服务器证书文件server.keystore放到项目的根目录下

2、编辑application.yml文件

3、启动项目,看到https则成功了。

五、测试

1、添加一个java的过滤器,加上一行代码,打好断点:

 2、用谷歌浏览器,访问一个过滤器拦截的接口,显示选择证书的选项,则表示个人ssl证书安装成功了:

3、在过滤器的断点中查看是否已经获取到了客户端证书,如果能看到以下信息,则表示成功了:

 至此基于springboot的ssl双向认证已经完成了。

猜你喜欢

转载自www.cnblogs.com/htuao/p/10091458.html
今日推荐