您的位置:首页 > 理论基础 > 计算机网络

Tomcat 8.0.30配置https的步骤

2016-06-16 00:00 337 查看
根据网上的案例,自己做了实际配置,记录如下,以备后续参考:

环境说明:

JAVA_HOME=D:\Programs\Java\

TOMCAT_HOME=D:\Programs\tomcat8030

1. 生成证书:

D:\Programs\Java\bin>keytool.exe -genkey -alias tomcert -keyalg RSA -keypass auditpass -storepass auditpass -keystore tomcert.keystore -validity 3600

2. 导出证书:

D:\Programs\Java\bin>keytool.exe -export -trustcacerts -alias tomcert -file tomcert.cer -keystore tomcert.keystore -storepass auditpass

存储在文件 <tomcert.cer> 中的证书

3. 导入证书:

D:\Programs\Java\bin>keytool.exe -import -trustcacerts -alias tomcert -file tomcert.cer -keystore D:\Programs\Java\lib\security\cacerts -storepass changeit

所有者: CN=www.superstar.com, OU=chinaum, O=chinaum, L=bj, ST=bj, C=CN

发布者: CN=www.superstar.com, OU=chinaum, O=chinaum, L=bj, ST=bj, C=CN

序列号: 3d1c5347

有效期开始日期: Wed Jun 15 22:28:24 GMT+08:00 2016, 截止日期: Fri Apr 24 22:28:24 GMT+08:00 2026

证书指纹:

         MD5: C8:74:94:AC:B3:91:BE:26:7A:DC:F3:38:8B:D2:AC:5D

         SHA1: 87:5B:14:01:82:51:44:40:BB:22:D3:EE:A4:CB:1F:3A:7C:95:5E:2A

         SHA256: C1:27:70:F4:67:8B:50:9C:59:2F:29:26:76:0B:4B:37:76:24:0B:CB:61:91:D2:74:F3:AC:0A:41:1C:E1:7B:4A

         签名算法名称: SHA256withRSA

         版本: 3

扩展:

#1: ObjectId: 2.5.29.14 Criticality=false

SubjectKeyIdentifier [

KeyIdentifier [

0000: BA 90 52 00 C8 A1 81 03   5E 38 2B 89 F5 3B F5 46  ..R.....^8+..;.F

0010: 11 ED AD 39                                        ...9

]

]

是否信任此证书? [否]:  y

证书已添加到密钥库中

至此,证书生成和导入完成。

4. 修改tomcat配置文件server.xml来enable https:

    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

               connectionTimeout="20000" maxThreads="1000" minSpareThreads="100" maxSpareThreads="400" acceptCount="800"

               scheme="https" secure="true"

               clientAuth="false" sslProtocol="TLS"

               keystoreFile="tomcert.keystore" keystorePass="auditpass" />

注意:因为在第一步中,tomcert.keystore文件是生成在D:\Programs\Java\bin目录中的,需要将文件复制到D:\Programs\tomcat8030目录,否则会报找不到此文件的错误。或者在上述的配置中,填写第一步的生成路径。

5. 配置完成后,启动tomcat。如果出现以下报错信息,可以通过下面的方式解决:

报错信息:

SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-apr-8443"]  

java.lang.Exception: Connector attribute SSLCertificateFile must be defined when using SSL with APR 

解决方式:

注释server.xml中的下面这条语句:  

<!--<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />-->

如果不想disable APR的话,可以参考下面的帖子来做配置: http://lixor.iteye.com/blog/1532655
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  tomcat HTTPS