Tomcat 8.0.30配置https的步骤

来源:互联网 发布:php判断是否为整数 编辑:程序博客网 时间:2024/06/05 00:09

根据网上的案例,自己做了实际配置,记录如下,以备后续参考:


环境说明:

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="443" protocol="HTTP/1.1" SSLEnabled="true"           enableLookups="false"           acceptCount="100" disableUploadTimeout="true"           maxThreads="150" scheme="https" secure="true"           clientAuth="false" sslProtocol="TLS"           keystoreFile="tomcert.keystore"           keystorePass="123456" />
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

注意:因为在第一步中,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

原创粉丝点击