用keytool制做证书并在tomcat配置https服务(一)html
用keytool制做证书并在tomcat配置https服务(三)浏览器
用keytool制做证书并在tomcat配置https服务(四)tomcat
双向认证:并发
咱们上边生成了服务端证书,并发送给客户端进行了验证。spa
双向认证是双向的,所以还差客户端证书。code
1.为方便导入浏览器,生成p12格式的密钥库。server
keytool -genkey -alias client -keypass 123456 -keyalg RSA -keysize 2048 -validity 365 -storetype PKCS12 -keystore D:/ssl/client.p12 -storepass 123456
跟以前生成服务端证书差很少xml
而后能够看一下证书库里的密钥对htm
keytool -list -v -storetype PKCS12 -keystore D:/ssl/client.p12
为了可以使服务端可以信任客户端证书,咱们须要把证书导出来,而后发送给服务端,并添加到服务端的密钥库里,进行信任。blog
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访问