用keytool制做证书并在tomcat配置https服务(二 )

用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访问

相关文章
相关标签/搜索