启动:tomcat
键入:http://127.0.0.1:8080/tomcat-docs/ssl-howto.html,查看帮助
ms-dos:窗口
产生一对密钥
keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore -validity 3000(过期时间,不写默认90天)
您的名字与姓氏是什么?
[Unknown]: user.com(如果没绑定域名可以用你的计算机名称或IP来测试)
您的组织单位名称是什么?
[Unknown]: com
您的组织名称是什么?
[Unknown]: com
您所在的城市或区域名称是什么?
[Unknown]: gz
您所在的州或省份名称是什么?
[Unknown]: gd
该单位的两字母国家代码是什么
[Unknown]: CN
CN=user.com, OU=com, O=com, L=gz, ST=gd, C=CN 正确吗?
[否]: y
导出服务器证书
keytool -export -trustcacerts -alias tomcat -file server.cer -keystore server.keystore -storepass changeit
导入服务器证书
keytool -import -trustcacerts -alias tomcat -file server.cer -storepass changeit -keystore server.keystore(如果已经存在查询信息是否相同如果不相同删除再导入)
如果tomcat 验证的时候出现unable to find valid certification path to requested target 是证书没有导入java证书库
keytool -import -file server.cer -keystore server.keystore %java_home%/jre/lib/security/cacerts (如果已经存在查询信息是否相同如果不相同删除再导入)
或用cd进入到C:/java/jdk1.5/jre/lib/security这个目录下
敲入如下命令回车执行
keytool -import -alias tomcat -file d:/java_key/server.cer -trustcacerts
输入默认密码:changeit
Owner: CN=usr.com, OU=com, O=com, L=gz, ST=gd, C=CN
发照者: CN=usr.com, OU=com, O=com, L=gz, ST=gd, C=CN
序号: 496f008d
有效期间: Thu Jan 15 17:23:25 CST 2009 至: Wed Apr 15 17:23:25 CST 2009
认证指纹:
MD5: DF:38:06:BA:88:79:39:0D:CF:96:1D:D5:D1:69:02:8E
SHA1: C7:FE:0E:D7:8A:36:42:32:31:5E:14:48:29:B4:E8:C6:4F:F2:FE:42
信任这个认证? [否]: y
认证已添加至keystore中
在security这个目录查看导入到证书库的证书:
keytool -v -list -alias tomcat
查看证书列表
keytool -list -v -keystore server.keystore -storepass changeit
删除证书
keytool -delete -alias tomcat -keystore server.keystore -storepass changeit
tomcat server服务端配置
server.xml
<Connector
port="8443" minSpareThreads="5" maxSpareThreads="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="D:/java_key/tomcat/server.keystore" keystorePass="changeit"
clientAuth="false" sslProtocol="TLS" alias ="tomcat "/>
启动访问https://user.com:8443就会出现一个带锁的tomcat页面
(如果没有域名,证书是是计算机名称或IP就是https://hostname:8433,https://IP:8433)
(如果IE7不可以访问但是页面中下方有个继续访问的选项有可能是证书没导入到windows,将证书导入windows即可)
(如果还是有错误。就是相关配置没设置号。如证书的名字如果是本地可以用localhost,非本地就需要填域名)
使用Yale CAS
下载
http://www.ja-sig.org/products/cas/downloads/index.html
http://www.ja-sig.org/wiki/display/CASUM/Tutorials(指南)
的
server
和
Yale CAS client 2.0.11
server解压后复制cas-server-3.3.1-release/cas-server-3.3.1/modules/cas-server-webapp-3.3.1.war到tomcat的webapps目录就OK了,
如果是client,复制cas-client-2.0.11/cas-client-2.0.11/java/lib casclient.jar 到你的项目
然后你的项目的webl.xml设置过滤(可以自己建立个项目或以servlets-examples这个APP为例)
<filter>
<filter-name>CAS Filter</filter-name>
<filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
<param-value>https://user.com:8443/cas-server-webapp-3.3.1/login</param-value>//ssl验证页面
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://user.com:8443/cas-server-webapp-3.3.1/serviceValidate</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>user.com:8080</param-value>//你的项目连接
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Filter</filter-name>
<url-pattern>/servlet/*</url-pattern>//过滤条件。
</filter-mapping>
启动tomcat输入连接。如果自动跳转到登录页面则配置成功。输入相同的帐号密码便可以通过验证(默认简单设置)
登录成功后会跳转到client,并附带ticket=ST-xxx-cas
如果需要手动验证该票据https://user.com:8443/cas-server-webapp-3.3.1/validate?service=http://usr.com:8080/testweb&ticket=ST-xxx-cas 会返回 验证结果.