我的操作是这样的,很简单的单向加密:
数字证书的制作:
由于本系统采用手机客户端数据传输,不适合采用双向认证,仅采用单向认证机制,在【开始】-à【运行】输入【cmd】后,执行如下命令。在相应的目录上(默认是C:/Documents and Settings/Administrator)生成一个tomcat.keystore的文件,将生成的文件拷贝到tomcat的安装目录。
1. keytool -genkeypair -alias "tomcat" -keyalg "RSA"
注意:在运行时会让你输入名称与姓氏,此处必须填写主机所在的域名,没有的情况下可以写主机ip地址。
改单位的两字母国家代码为:cn
出现如图所示时,输入y。后回车
此时查看相应文件夹下的文件
找到后既是生成成功的数字证书。
2.将证书放到tomcat的根目录下,这样的好处就是后面配置不需要写绝对路径。接着是修改tomcat的server.xml文件啦。
D:/tomcat/Tomcat 6.0/conf目录下打开server.xml文件,将原来注释掉的这句打开
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="name.keystore"
keystorePass="password"
/>
并添加上面红色字体部分,记得将 keystorePass改成你的密码。
剩下的是设置项目启动时自动跳转到ssl通道:配置相应项目的web.xml文件,添加如下内容(无需修改):
<login-config>
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<web-resource-collection>
<web-resource-name>SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>