Tomcat6 配置HTTPS SSL 发布Axis2 webservice(一)

来源:互联网 发布:江苏政务数据资源网 编辑:程序博客网 时间:2024/05/19 01:30

1.首先使用java 自带的keytools生成我们所需要的密钥证书。

  为了方便起见这里使用bat文件生成,关于keytools的具体使用大家可查看相关文档

set SERVER_DN="CN=127.0.0.1, OU=SPH, O=SPH, L=sh, S=sh, C=CN"  set CLIENT_DN="CN=Client,  OU=SPH, O=SPH, L=sh, S=sh, C=CN"set PASS_SET= hpadminkeytool -genkey -v -alias server -keyalg RSA -keystore D:/SSL/server/server.keystore -dname %SERVER_DN% -validity 3650 -storepass %PASS_SET% -keypass %PASS_SET%keytool -genkey -v -alias client -keyalg RSA -storetype PKCS12 -keystore D:/SSL/client/client.p12 -dname %CLIENT_DN% -validity 3650 -storepass client -keypass clientkeytool -export -alias client -keystore D:/SSL/client/client.p12 -storetype PKCS12 -storepass client -rfc -file D:/SSL/client/client.cerkeytool -import -alias client -v -file D:/SSL/client/client.cer -keystore D:/SSL/server/server.keystore -storepass %PASS_SET%keytool -export -alias server -keystore D:/SSL/server/server.keystore -storepass %PASS_SET% -rfc -file D:/SSL/server/server.cerkeytool -import -file D:/SSL/server/server.cer -storepass %PASS_SET% -keystore D:/SSL/client/client.truststore -alias server -nopromptpause

注意:SERVER_DN 中的 CN一定要是发布服务器的IP地址或者是文件名!这里使用本机测试故设置为127.0.0.1


2.密钥以及证书生成之后进行tomcat的配置

进入并打开%TOMCAT_HOME%/conf/server.xml

添加如下配置

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"    maxThreads="150" scheme="https" secure="true"    clientAuth="true " sslProtocol="TLS"    keystoreFile="D:/SSL/server/server.keystore" keystorePass="hpadmin"    truststoreFile="D:/SSL/server/server.keystore" truststorePass="hpadmin"/>


注意:clientAuth = "true" 表示进行双向验证 如果设置为false 则进行单向验证并去掉 truststoreFile="D:/SSL/server/server.keystore" truststorePass="hpadmin" 此行代码


3.如果有需求对所有的请求都使用https访问的话,需要对tomcat 下的web.xml 添加以下代码:

<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>

注意:<url-pattern>根据自己的的需求进行修改


4.对Axis2进行配置

修改发布的axis2.xml,添加以下代码:

<transportReceiver name="https" class="org.apache.axis2.transport.http.AxisServletListener">        <parameter name="port">8443</parameter>    </transportReceiver>

<transportSender name="https"                     class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">        <parameter name="PROTOCOL">HTTP/1.1</parameter>        <parameter name="Transfer-Encoding">chunked</parameter>    </transportSender>

ok,到此我们配置完毕,非常简单的操作。
0 0
原创粉丝点击