文章目录
- Tomcat配置HTTPS
-
- 1.为服务器生成证书
- 2.为客户端生成证书
- 3.让服务器信任客户端证书
- 4.将该文件导入到服务器的证书库,添加为一个信任证书使用命令如下:
- 5.查看证书库
- 6.让客户端信任服务器证书
- 7.配置tomcat
- 8.验证
Tomcat配置HTTPS
1.启动cmd控制台,进入%JAVA_HOME%/bin目录
# cd D:\java\jdk1.8.0_144\bin
![11. 利用Tomcat服务器配置HTTPS双向认定_第1张图片](http://img.e-com-net.com/image/info8/ebd81babb3fe41dbaf70319be3fdfc3d.jpg)
1.为服务器生成证书
1.利用java的keyTool工具为tomcat生成证书,假定目标机器的域名为"localhost","keystore"文件存放在"D:\WorkSoftWare\java\tomcat\HTTPS\tomcat.keystore"下,口令为"password",使用如下命令
# keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\WorkSoftWare\java\tomcat\HTTPS\tomcat.keystore -validity 36500
2.文件路径要事先创建好,在指定目录下会生成tomcat.keystore文件
3.转格式
# keytool -importkeystore -srckeystore D:\WorkSoftWare\java\tomcat\HTTPS\tomcat.keystore -destkeystore D:\WorkSoftWare\java\tomcat\HTTPS\tomcat.keystore -deststoretype pkcs12
![11. 利用Tomcat服务器配置HTTPS双向认定_第2张图片](http://img.e-com-net.com/image/info8/7cc286a7d1474778a1b929e97768d40c.jpg)
2.为客户端生成证书
1.为浏览器生成证书,以便让服务器来验证它,为了将证书顺利导入IE和Firefox,证书格式应该是PKCS12,因此,使用如下命令生成
# keytool -genkey -v -alias mykey -keyalg RSA -keystore D:\WorkSoftWare\java\tomcat\HTTPS\mykey.p12
2.mykey为自定义,对应证书存放子“D:\WorkSoftWare\java\tomcat\HTTPS\mykey.p12”目录下,客户端的CN可以是任意值,双击mykey.p12文件,即可将证书导入到客户端(浏览器)
3.转格式
# keytool -importkeystore -srckeystore D:\WorkSoftWare\java\tomcat\HTTPS\mykey.p12 -destkeystore D:\WorkSoftWare\java\tomcat\HTTPS\mykey.p12 -deststoretype pkcs12
![11. 利用Tomcat服务器配置HTTPS双向认定_第3张图片](http://img.e-com-net.com/image/info8/d1bdbf2c36bb4fd88a737493bc7cd0f6.jpg)
3.让服务器信任客户端证书
1.由于是双向SSL认证,服务器必须要信任客户端证书,因此,必须把客户端证书添加为服务器的信任认证,由于不能直接将PKCS12格式的证书库导入,必选先把客户端证书导出为一个单独的CER文件,使用如下命令:
# keytool -export -alias mykey -keystore D:\WorkSoftWare\java\tomcat\HTTPS\mykey.p12 -storetype PKCS12 -storepass password -rfc -file D:\WorkSoftWare\java\tomcat\HTTPS\mykey.cer
2.mykey为自定义与客户端定义的mykey要一致,通过以上,客户端证书就被我们导出到D:\WorkSoftWare\java\tomcat\HTTPS\mykey.cer文件了
![11. 利用Tomcat服务器配置HTTPS双向认定_第4张图片](http://img.e-com-net.com/image/info8/4b5afd0b1efa4c3389e26f5b93262379.jpg)
4.将该文件导入到服务器的证书库,添加为一个信任证书使用命令如下:
1.命令
# keytool -import -v -file D:\WorkSoftWare\java\tomcat\HTTPS\mykey.cer -keystore D:\WorkSoftWare\java\tomcat\HTTPS\tomcat.keystore
![11. 利用Tomcat服务器配置HTTPS双向认定_第5张图片](http://img.e-com-net.com/image/info8/4a843b18d5d442cc8b854611f42cdd48.jpg)
5.查看证书库
1.通过list命令查看服务器的证书库,可以看到两个证书,一个是服务器证书,一个是受信任的客户端证书,
# keytool -list -keystore D:\WorkSoftWare\java\tomcat\HTTPS\tomcat.keystore
![11. 利用Tomcat服务器配置HTTPS双向认定_第6张图片](http://img.e-com-net.com/image/info8/6784f11a24914392a799edb88146f8aa.jpg)
6.让客户端信任服务器证书
1.由于是双向SSL认证,客户端也要验证服务端证书。因此,必须把服务器证书添加到浏览器的“受信任的根证书颁发机构”,由于不能直接将keystore格式的证书库导入,必须先把服务器证书导出为一个单独的cer文件,使用如下命令
# keytool -keystore D:\WorkSoftWare\java\tomcat\HTTPS\tomcat.keystore -export -alias tomcat -file D:\WorkSoftWare\java\tomcat\HTTPS\tomcat.cer
2.通过以上命令,服务器证书被我们导出,到 D:\WorkSoftWare\java\tomcat\HTTPS\文件中,双击tomcat.cer。按照提示安装证书,将证书填入到“受信任的根证书颁发机构”
7.配置tomcat
1.打开tomcat的conf/server.xml,在Connector附近添加
protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150"
SSLEnabled="true"
scheme="https"
secure="true"
clientAuth="true"
sslProtocol="TLS"
ciphers="TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,
TLS_ECDHE_RSA_WITH_RC4_128_SHA,
TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
TLS_DHE_DSS_WITH_AES_128_CBC_SHA,
TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
TLS_RSA_WITH_AES_128_GCM_SHA256,
TLS_RSA_WITH_AES_128_CBC_SHA,
TLS_RSA_WITH_AES_256_CBC_SHA,
TLS_RSA_WITH_3DES_EDE_CBC_SHA,
TLS_RSA_WITH_RC4_128_SHA,
TLS_RSA_WITH_RC4_128_MD5"
keystoreFile="D:\WorkSoftWare\java\tomcat\HTTPS\tomcat.keystore"
keystorePass="123456"
truststoreFile="D:\WorkSoftWare\java\tomcat\HTTPS\tomcat.keystore"
truststorePass="123456"/>
8.验证
1.导入证书,在谷歌浏览器中搜索证书,找到管理证书,导入生成的mykey.p12文件
![11. 利用Tomcat服务器配置HTTPS双向认定_第7张图片](http://img.e-com-net.com/image/info8/a5d08741d4e248cf9ce772303f783574.jpg)
2.启动tomcat访问 https:localhost:8843
能看到以下结果即为成功
![11. 利用Tomcat服务器配置HTTPS双向认定_第8张图片](http://img.e-com-net.com/image/info8/89d30fbc53ae408faab055005bfde87a.jpg)