tomcat 配置SSL
http://www.oschina.net/question/12_23148 原链接
基本步骤:
- 使用 java 创建一个 keystore 文件
- 配置 Tomcat 以使用该 keystore 文件
- 测试
- 配置应用以便使用 SSL ,例如 https://localhost:8443/yourApp
参考文档
Keytool使用指南:
Tomcat-ssl配置指南:
配置过程
1. 生成 server key :
以命令行方式切换到目录%TOMCAT_HOME%,在command命令行输入如下命令(jdk1.4以上带的工具):
keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore -validity 3600
用户名输入域名,如localhost(开发或测试用)或hostname.domainname(用户拥有的域名),其它全部以 enter 跳过,最后确认,此时会在%TOMCAT_HOME%下生成server.keystore 文件。
生成的.keystore 文件保存在用户的目录下。win7:C:\Users\用户\用户名
注:参数 -validity 指证书的有效期(天),缺省有效期很短,只有90天。
2. 将证书导入的JDK的证书信任库中:
这步对于Tomcat的SSL配置不是必须,但对于CAS SSO是必须的,否则会出现如下错误:edu.yale.its.tp.cas.client.CASAuthenticationException: Unable to validate ProxyTicketValidator。。。
导入过程分2步,第一步是导出证书,第二步是导入到证书信任库,命令如下:
keytool -export -trustcacerts -alias tomcat -file server.cer -keystore server.keystore -storepass changeit
keytool -import -trustcacerts -alias tomcat -file server.cer -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit
如果有提示,输入Y就可以了。
其他有用keytool命令(列出信任证书库中所有已有证书,删除库中某个证书):
keytool -list -v -keystore (jdk安装目录)/jre/lib/security/cacerts (如果需要输入密码,密码为changeit)
keytool -delete -trustcacerts -alias tomcat -keystore (jdk安装目录)/jre/lib/security/cacerts -storepass changeit
经过测试,非常容易出现cas-client取得到证书的情况
Unable to validate ProxyTicketValidator
解决方法:
1 ,
keytool -genkey -alias tomcat -keystore server.keystore -dname "CN=localhost, OU=localhost, O=localhost, L=SH, ST=SH, C=CN" -keypass changeit -storepass changeit -keystore server.keystore -validity 3600
2,
keytool -export -trustcacerts -alias tomcat -file server.cer -keystore server.keystore -storepass changeit
3,
keytool -import -trustcacerts -alias tomcat -file server.cer -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit
4,
keytool -list -v -keystore %java_home%/jre/lib/security/cacerts changeit
第一步非常重要,注意keystore的路径,一般在用户下,导出证书以后,注意导入是否能找到。
4用于确认导入是否成功。
3. 配置TOMCAT :
修改%TOMCAT_HOME%\conf\server.xml,以文字编辑器打开,查找这一行:
xml 代码
将之后的那段的注释去掉,并加上 keystorePass及keystoreFile属性。
注意,tomcat不同版本配置是不同的:
Tomcat4.1.34配置:
xml 代码
Tomcat5.5.9配置:
xml 代码
Tomcat5.5.20配置(此配置同样可用于Tomcat6.0):
xml 代码
Tomcat6.0.10配置:
xml 代码
tomcat6支持3种,请参考以下文档:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步