使用SSL/HTTPS协议来建立安全的AXIS服务传输
2015-01-15 12:26
489 查看
使用SSL/HTTPS协议来建立安全的AXIS服务传输
文章目录1、使用JDK自带的工具创建密匙库和信任库。
2、更改Tomcat的配置文件(server.xml),增加以下部署描述符:(其实里面有,只是被注释掉了)
3、修改客户端程序 TestClient.java(修改的部分已标出)
使用SSL/HTTPS协议来传输
Web服务也可以使用SSL作为传输协议。虽然JAX-RPC并没有强制规定是否使用SSL协议,但在tomcat 下使用HTTPS协议。1、使用JDK自带的工具创建密匙库和信任库。
1)通过使用以下的命令来创建服务器端的密匙库:
keytool -genkey -alias Server -keystore server.keystore -keyalg RSA 输入keystore密码: changeit 您的名字与姓氏是什么? [Unknown]: Server 您的组织单位名称是什么? [Unknown]: ec 您的组织名称是什么? [Unknown]: ec 您所在的城市或区域名称是什么? [Unknown]: beijing 您所在的州或省份名称是什么? [Unknown]: beijing 该单位的两字母国家代码是什么 [Unknown]: CN CN=Server, OU=ec, O=ec, L=beijing, ST=beijing, C=CN 正确吗? [否]: y 输入<Server>的主密码 (如果和 keystore 密码相同,按回车):
以上命令执行完成后,将获得一个名为server.keystore的密匙库。
2)生成客户端的信任库。首先输出RSA证书:
keytool -export -alias Server -file test_axis.cer -storepass changeit -keystore server.keystore
然后把RSA证书输入到一个新的信任库文件中。这个信任库被客户端使用,被用来验证服务器端的身份。
keytool -import -file test_axis.cer -storepass changeit -keystore client.truststore -alias serverkey -noprompt
以上命令执行完成后,将获得一个名为client.truststore的信任库。
3)同理生成客户端的密匙库client.keystore和服务器端的信任库server.truststore.
方便起见给出.bat文件 gen-cer-store.bat内容如下:set SERVER_DN="CN=Server, OU=Linkage, O=Linkage, L=Nanjing, S=Jiangsu, C=CN" set CLIENT_DN="CN=Client, OU=Linkage, O=Linkage, L=Nanjing, S=Jiangsu, C=CN" set KS_PASS=-storepass linkage set KEYINFO=-keyalg RSA keytool -genkey -alias Server -dname %SERVER_DN% %KS_PASS% -keystore server.keystore %KEYINFO% -keypass linkage keytool -export -alias Server -file alipms_axis.cer %KS_PASS% -keystore server.keystore keytool -import -file alipms_axis.cer %KS_PASS% -keystore client.truststore -alias serverkey -noprompt keytool -genkey -alias Client -dname %CLIENT_DN% %KS_PASS% -keystore client.keystore %KEYINFO% -keypass linkage keytool -export -alias Client -file alipms_axis.cer %KS_PASS% -keystore client.keystore keytool -import -file alipms_axis.cer %KS_PASS% -keystore server.truststore -alias clientkey -noprompt
好的,现在我们就有了四个文件:server.keystore,server.truststore,client.keystore,client.truststore
2、更改Tomcat的配置文件(server.xml),增加以下部署描述符:(其实里面有,只是被注释掉了)
<Connector port="8440" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" acceptCount="100" scheme="https" secure="true" clientAuth="true" keystoreFile="f:\server.keystore" keystorePass="changeit" truststoreFile="f:\server.truststore" truststorePass="changeit" sslProtocol="TLS" />
3、修改客户端程序 TestClient.java(修改的部分已标出)
/** * webservice测试客户端 * * @author XiongLiang */ public class QueryHijackInfoTest { public static void main(String[] args) throws RemoteException { System.setProperty("javax.net.ssl.keyStore", "E:\\ssl\\client.keystore"); System.setProperty("javax.net.ssl.keyStorePassword", "linkage"); System.setProperty("javax.net.ssl.trustStore", "E:\\ssl\\client.truststore"); System.setProperty("javax.net.ssl.trustStorePassword", "linkage"); String queryURL = "https://192.168.58.161:8443/services/QueryHijackInfo?wsdl"; String queryDomain = "xiongl.com"; String queryNodeIp = "1.2.3.4"; QueryHijackInfoProxy queryHijackInfoProxy = new QueryHijackInfoProxy(queryURL); String result = queryHijackInfoProxy.queryHijack(queryDomain,queryNodeIp); System.out.println("result: " + result); } }
相关文章推荐
- Java调用使用SSL/HTTPS协议来传输的axis webservice服务
- Java调用使用SSL/HTTPS协议来传输的axis webservice服务
- 用HTTPS:超文本安全传输协议访问时的SSL/TSL的认证过程
- 使用SSL作为Web服务的传输协议
- 使用SVCUTIL生成客户端代理类时:元数据包含无法解析的引用:“https: 无法为 SSL/TLS 安全通道与颁发机构“localhost”建立信任关系。基础连接已经关闭: 未能为 SSL/TL
- axis使用ssl传输协议实现保密性
- 调用Https WebService发布后使用时报“基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系”证书验证失败的解决过程(3)
- CA加密,网络安全HTTPS SSL-安全传输协议SSL和TLS及WTLS的原理
- CA加密,网络安全HTTPS SSL-安全传输协议SSL和TLS及WTLS的原理
- CA加密,网络安全HTTPS SSL-安全传输协议SSL和TLS及WTLS的原理
- HTTPS SSL-安全传输协议SSL和TLS及WTLS的原理
- 关于Tomcat中配置https协议(使用axis容器)
- 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接 错误解决办法
- linux下使用apache+svn+ssl配置安全版本控制服务
- 驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server 建立安全连接
- 调用Https WebService是报“基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系”的解决过程
- [转载]使用 Microsoft SOAP Toolkit 2.0 建立安全 Web 服务
- 在IIS上如何发布HTTPS网站,SSL安全服务配置
- 建立安全的AXIS服务(上)
- 为使用rpm安装的httpd服务提供基于ssl的安全会话