导航

tomcat开通ssl

Posted on 2011-12-29 17:45  datalife  阅读(261)  评论(0编辑  收藏  举报

服务端和客户端的证书是通过Keytool工具生成的。首先分别生成服务端和客户端的密钥库——server.keystore和client.keystore,然后分别导出服务器端和客户端的证书——

server.cer和client.cer,最后将server.cer导入到客户端的信任库client.truststore,把client.cer导入到服务端的信任库server.truststore。
SUN公司提供了制作证书的工具keytool。在JDK 1.4以后的版本中都包含了这一工具,它的位置为<JAVA_HOME>\bin\keytool.exe
1)通过使用一下的命令来创建服务器端的密匙库。

keytool -genkey -alias serverkey -keystore server.keystore -keyalg RSA

以上命令执行完成后,将获得一个名为server.keystore的密匙库。

2)生成客户端的信任库。首先输出RSA证书:

keytool -export -file server.cer -storepass most_sms_topic -keystore server.keystore

然后把RSA证书输入到一个新的信任库文件中。这个信任库被客户端使用,被用来验证服务器端的身份。

keytool -import -file server.cer -storepass most_sms_topic -keystore client.truststore -alias serverkey -noprompt

3)创建客户端密匙库。重复步骤1,创建客户端的密匙库。也可以使用以下命令来完成:

keytool -genkey -dname " CN=hellking-Client, OU=tsinghua, O=tsinghua, L=BEIJING, S=BEIJING, C=CN"

-storepass most_sms_topic -keystore client.keystore -keyalg RSA -keypass most_sms_topic

4)生成服务器端的信任库。

keytool -export -file client.cer -storepass most_sms_topic -keystore client.keystore

keytool -import -file client.cer -storepass most_sms_topic -keystore server.truststore -alias clientkey -noprompt

SSL进行双向认证的时候需要服务端和客户端的keystore和truststore文件。

tomcat配置虚拟目录,需要修改%tomcat%\conf\文件夹下的server.xml文件,添加ssl节点:

<Connector port="8443"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true"
clientAuth="false" keystoreFile="E:\Program Files\Apache Software Foundation\Tomcat 5.0\conf\server.keystore" keystorePass="admina"
truststoreFile="E:\Program Files\Apache Software Foundation\Tomcat 5.0\conf\server.truststore" truststorePass="admina"
sslProtocol="TLS" />


这样你可以通过https://localhost:8443/**来访问