一、生成服务器端证书
1、在cmd窗口执行命令:keytool -genkey -v -alias server -keyalg RSA -storetype PKCS12 -keystore c:keystoreserver.keystore,
密码随意,自己记住就行。
二、生成客户端证书
1、在cmd窗口执行命令:keytool -genkey -v -alias test -keyalg RSA -storetype PKCS12 -keystore c:keystore est.p12,
密码随意,自己记住就行。
三、导出客户端证书
1、导出客户端证书公钥cer文件。
在cmd窗口执行命令,输入之前自己设置的密码:
keytool -export -alias test -keystore c:keystore est.p12 -storetype PKCS12 -rfc -file c:keystore est.cer
2、将客户端公钥导入服务器证书。
在cmd窗口执行命令,输入之前自己设置的密码:
keytool -import -v -file c:keystore est.cer -keystore c:keystoreserver.keystore
四、安装客户端证书
双击c:keystore目录下的test.p12文件,点击下一步:
再次点击下一步:
输入生成证书时设置的密码,点击下一步:
将证书文件存储为个人,点击下一步:
点击完成:
四、添加springboot支持
1、将服务器证书文件server.keystore放到项目的根目录下
2、编辑application.yml文件
3、启动项目,看到https则成功了。
五、测试
1、添加一个java的过滤器,加上一行代码,打好断点:
2、用谷歌浏览器,访问一个过滤器拦截的接口,显示选择证书的选项,则表示个人ssl证书安装成功了:
3、在过滤器的断点中查看是否已经获取到了客户端证书,如果能看到以下信息,则表示成功了:
至此基于springboot的ssl双向认证已经完成了。