您的位置:首页 > 理论基础 > 计算机网络

关于Tomcat中配置https协议(使用axis容器)

2008-10-16 13:35 806 查看
配置Tomcat目录 %TOMCAT_HOME%/conf下面的server.xml文件,在文件中加入如下xml内容:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

maxThreads="150" scheme="https" secure="true" clientAuth="true" sslProtocol="TLS" keystoreFile="/conf/server.keystore" keystorePass="changeit" truststoreFile="/conf/server.truststore" truststorePass="changeit"

/>
部分属性语句解释如下:

I.clientAuth="true"表示是否需要验证客户端身份(即客户端在访问服务的时候需要提供密钥库文件xxx.keystore),true表示需要,false表示不需要,若选择false,则需去掉语句: truststoreFile="/conf/server.truststore" truststorePass="changeit"
ii.keystoreFile="/conf/server.keystore"表示服务器端密钥库文件为

%TOMCAT_HOME%/conf目录下面的文件server.keystore,用来提供给客户端验证服务器端身份keystorePass="changeit"则表示该密钥库文件的密码为changeit

iii. truststoreFile="/conf/server.truststore"表示服务器端的信任库文件为 %TOMCAT_HOME%/conf目录下面的文件server.truststore, 用来表示服务器端所信任的客户端,truststorePass="changeit"表示该信任库的密码为changeit

若添加的内容中属性选择为clientAuth="false",则配置完成后在浏览器输入https://localhost:8443/axis 则浏览器将提示证书未被信任,点击继续则可查看部署在axis上的服务

若添加的内容中属性选择为clientAuth="true",则无法通过直接访问https://localhost:8443/axis查看部署的服务(因为浏览器未提供密钥库文件)

2.编写客户端程序访问部署的服务时应注意在运行时以参数的形式提供给客户端程序密钥库文件和信任库文件,假如编写的客户端程序为

SSLClient.java访问部署在aixs 上的

https://localhost:8443/axis/services/EchoHello?wsdl 服务,在运行

SSLClient.java时应以如下形式运行

Java -Djavax.net.ssl.keyStore=somepath/client.keystore

-Djavax.net.ssl.keyStorePassword=youpassword

-Djavax.net.ssl.trustStore= somepath/client.trustStore

SSLClient

3.关于如何使用JDK自带工具keytool(位于%JAVA_HOME%/jdk/bin目录下)生成上述密钥库和信任库文件

(1)打开命令行转到keytool所在目录,输入命令:

keytool –genkey –alias tomcat –keystore server.keystore –keyalg RSA

按照提示输入相应个人信息,命令执行完成后,将在当前目录下获得名为server.keystore的密钥库。
(2)生成客户端的信任库,首先输出RSA证书:

keytool –export –alias tomcat –file test_axis.cer –storepass changeit –keystore server.keystore

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

keytool–import–file test_axis.cer –storepass changeit –keystore client.truststore –alias serverkey –noprompt

(3)创建客户端密钥库,重复步骤(1)

使用如下命令生成客户端的信任库:

keytool –export –file test_axis.cer –storepass changeit –keystore client.keystore

使用如下命令生成服务器端的信任库:

keytool –import –file test_axis.cer –storepass changeit –keystore server.truststore –alias clientkey –noprompt

说明:该配置方法在jdk1.6+ apache-tomcat-6.0.16上配置成功。

在修改server.xml时,若直接将该文档中所示内容copy到

server.xml文件则需注意每行末的换行符以及空格符。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: