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

猜你喜欢

转载自www.cnblogs.com/jinzhiming/p/10791654.html