双向认证:在单向认证(客户端认证服务器端身份)的基础上,增加了服务器端对客户端的认证
1、为服务器端生成密钥库
//输入域名的时候,记得要写 : localhost或者127.0.0.1
keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\tomcat.keystore -validity 36500
2、为客户端生成密钥库
keytool -genkeypair -v -alias mykey1 -keyalg RSA -storetype PKCS12 -keystore F:\key\mykey1.p12
3、导出客户端证书,并且保存为.cer文件
keytool -export -alias mykey1 -keystore F:\key\mykey1.p12 -storetype PKCS12 -storepass 123456 -rfc -file F:\key\mykey1.cer
4、将客户端证书导入到服务器密钥库中,添加成为一个信任证书
keytool -import -v -file F:\key\mykey1.cer -keystore F:\key\tomcat1.keystore
5、查看服务器秘钥库中,是否包含新增加的这个信任证书
keytool -list -v -keystore F:\key\tomcat1.keystore
6、导出服务器端证书,并且保存为.cer文件
keytool -keystore F:\key\tomcat1.keystore -export -alias tomcat1 -file F:\key\tomcat1.cer
7、修改tomcat的server.xml文件
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true" maxThreads="150" scheme="https"
secure="true" clientAuth="true" sslProtocol="TLS"
keystoreFile="D:\\tomcat.keystore" keystorePass="123456"
truststoreFile="D:\\tomcat.keystore" truststorePass="123456" />
使用浏览器导入这两个证书,导入到受信任的根证书颁发机构区:
//证书导入
//mykey.p12
//tomcat.cer 受信任的根证书颁发机构区
8、浏览器中输入对应的ip和端口访问,就可以看到网页上面有个小锁的标志,表示安全访问