HTTPS配置中分为单向连接和双向连接,单向连接只需要服务器安装证书,客户端不需要,双向连接需要服务器和客户端都安装证书;
一、Keytool命令:
1、生成密钥对:
keytool -genkey -alias tomcat -keyalg RSA -keystore d:\.keystore
别名为tomcat,密钥算法名称为RSA,这个命令会在d:\目录下生成一个.keystore的文件;
2、查看命令:
keytool -list -keystore d:\.keystore
输入密码后就可以查看证书中的信息;
3、Keytool帮助信息:
Keytool –help
Keytool –genkey -help
二、配置文件:
1、把.keystore文件拷贝到tomcat的conf目录下;
2、修改server.xml配置文件,增加下面的连接:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="conf/.keystore" keystorePass="12345678"/>
3、启动tomcat,然后在浏览器中打开:,如果浏览器提示证书不受信任,点继续浏览即可。单向连接配置完成。
三、双向连接配置:
1、创建服务器密钥:
keytool -genkey -v -alias tomcat -keyalg RSA -storetype JKS -validity 3650 -keystore server.keystore -dname "CN=localhost,OU=Unknown,O=Unknown,L=Unknown,ST=Unknown,c=Unknown" -storepass 12345678 -keypass 12341234
密钥库类型为JKS,生成的文件为server.keystore,同时创建第一个条目,别名为tomcat;
2、创建客户端密钥:
keytool -genkey -v -alias client1 -keyalg RSA -storetype PKCS12 -validity 3650 -keystore client.p12 -dname "CN=client1,OU=Unknown,O=Unknown,L=Unknown,ST=Unknown,c=Unknown" -storepass 12345678
密钥库类型为PKCS12,生成的文件名称为client.p12,同时创建第一个条目,别名为client1,有效期为3650天;
3、将客户端导出为cer证书:
keytool -export -alias client1 -keystore client.p12 -storetype PKCS12 -storepass 12345678 -rfc -file client1.cer
将客户端的KeyStore文件中的条目client1导出为证书文件client.cer;
4、将客户端的证书cer文件导入到服务器的密钥库中:
keytool -import -v -alias sclient1 -file client1.cer -keystore server.keystore -storepass 12345678
将客户端证书文件client1.cer导入到服务器密钥文件server.keystore中,并且导入后的别名为sclient1;
此时可以使用keytool –list查看服务器证书文件server.keystore,发现里面已经有两个条目了;
5、配置服务器的xml文件:
首先将server.keystore文件拷贝到tomcat的conf目录下,然后修改server.xml文件,添加如下配置:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="true" sslProtocol="TLS" keystoreFile="conf/server.keystore" keystorePass="12345678" keyAlias="tomcat" keyPass="12341234" truststoreFile="conf/server.keystore" truststorePass="12345678"/>
6、浏览器导入证书:
比如IE中导入证书文件:
工具-->Internet选项-->内容-->证书-->个人-->导入-->下一步-->浏览中找到client.p12即可;