根据网上的案例,自己做了实际配置,记录如下,以备后续参考:
环境说明:
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:
注意:因为在第一步中,tomcert.keystore文件是生成在D:\Programs\Java\bin目录中的,需要将文件复制到D:\Programs\tomcat8030目录,否则会报找不到此文件的错误。或者在上述的配置中,填写第一步的生成路径。
如果出现以下报错信息,可以通过下面的方式解决:
报错信息:
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
根据网上的案例,自己做了实际配置,记录如下,以备后续参考:
环境说明:
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
扩展: