用keytool制作证书并在tomcat配置https服务(二 )
用keytool制作证书并在tomcat配置https服务(一)
用keytool制作证书并在tomcat配置https服务(三)
用keytool制作证书并在tomcat配置https服务(四)
双向认证:
我们上边生成了服务端证书,并发送给客户端进行了验证。
双向认证是双向的,因此还差客户端证书。
1.为方便导入浏览器,生成p12格式的密钥库。
keytool -genkey -alias client -keypass 123456 -keyalg RSA -keysize 2048 -validity 365 -storetype PKCS12 -keystore D:/ssl/client.p12 -storepass 123456
跟之前生成服务端证书差不多
然后可以看一下证书库里的密钥对
keytool -list -v -storetype PKCS12 -keystore D:/ssl/client.p12
为了能够使服务端能够信任客户端证书,我们需要把证书导出来,然后发送给服务端,并添加到服务端的密钥库里,进行信任。
2.导出客户端证书。
keytool -export -alias client -keystore D:/ssl/client.p12 -storetype PKCS12 -keypass 123456 -file D:/ssl/client.cer
可以看一下证书信息是不是和客户端库里相同。下边的指令如果加上“-rfc”,那么就会打印出证书串。
keytool -printcert -file D:/ssl/client.cer
3.把客户端证书添加到服务端的密钥库中并添加信任。
keytool -import -alias client -v -file D:/ssl/client.cer -keystore D:/ssl/keystore.jks -storepass 123456
然后用以下指令查看就会看到服务端证书里边有了客户单证书信息。
keytool -list -v -keystore D:/ssl/keystore.jks
4.然后把客户端的密钥库client.p12导入到浏览器的证书管理中,放到个人下。【重要】如果你不导入这个文件是访问不到的。
将tomcat的server.xml中https配置参数clientAuth="false"改成true,双向认证。不然还是单向认证的,没有意义。
然后启动tomcat访问