`
蓝色0度
  • 浏览: 3505 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Axis1.X 绕过证书验证

    博客分类:
  • Java
阅读更多
参考文章:http://www.cnblogs.com/zhukunrong/p/3791409.html?utm_source=tuicool&utm_medium=referral

我的问题是由于服务器网站升级协议到TLSv1.2。
PS:JDK1.6不支持TLSv1.2,网上有说可以通过第三方包支持,但是这种方式很难与Axis集成。
所以我只能升级到JDK1.7
另外,我们的老古董程序使用的是Axis1.4框架。

import java.io.IOException;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.Hashtable;

import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;

import org.apache.axis.components.net.JSSESocketFactory;

public class MyTLSSocketSecureFactory extends JSSESocketFactory {

public MyTLSSocketSecureFactory(Hashtable attributes) {
super(attributes);
// TODO Auto-generated constructor stub
}

// Create a trust manager that does not validate certificate chains
TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {

@Override
public X509Certificate[] getAcceptedIssuers() {
// TODO Auto-generated method stub
return null;
}

@Override
public void checkServerTrusted(X509Certificate[] chain, String authType)
throws CertificateException {
// TODO Auto-generated method stub

}

@Override
public void checkClientTrusted(X509Certificate[] chain, String authType)
throws CertificateException {
// TODO Auto-generated method stub

}
} };

@Override
public void initFactory() throws IOException {
SSLContext context;
try {
context = SSLContext.getInstance("TLSv1.2");
context.init(null, trustAllCerts, new java.security.SecureRandom());
sslFactory = context.getSocketFactory();
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (KeyManagementException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

在调用WebService前使用:
AxisProperties.setProperty("axis.socketSecureFactory", MyTLSSocketSecureFactory.class.getName());
0
0
分享到:
评论

相关推荐

    axis 1.x与axis2.x开发

    Axis1.x的jar文件主要包括axis.jar、commons-discovery.jar、commons-logging.jar等,这些文件需要添加到项目的类路径中。而Axis2.x的依赖更多,包括axis2-*.jar、axiom-*.jar、wsdl4j-*.jar等,还需要根据具体需求...

    axis1.x调webservice程序

    标题“Axis1.x调用WebService程序”涉及到的是在Java环境中使用Apache Axis1工具来与Web服务进行交互的技术。Apache Axis1是一个开源项目,它提供了一种简单的方式来创建和部署Web服务,同时也支持作为客户端调用...

    axis2.jar 解决 org.apache.axis2.util.JavaUtils.callStackToString问题

    <Call Stack = DEBUG_FRAME = org.apache.axis2.util.JavaUtils.callStackToString(JavaUtils.java:564) DEBUG_FRAME = org.apache.axis2.description.ParameterIncludeImpl.debugParameterAdd(ParameterIncludeImpl...

    jquery.flot.axislabels.js

    jquery.flot.axislabels.js

    axis2解决 org.apache.axis2.util.JavaUtils.callStackToString问题

    7. **查阅官方文档和社区资源**:如果以上步骤不能解决问题,可以查阅Apache Axis2的官方文档,或者在Apache Axis2的用户论坛、Stack Overflow等社区寻求帮助,看看其他人是否遇到过类似问题并找到了解决方案。...

    org.apache.axis2.eclipse.service.plugin_1.7.8

    1. **Axis2服务创建**:它允许用户直接在Eclipse环境中创建新的Axis2服务,通过向导指导用户完成服务定义、接口实现以及部署描述符的配置。 2. **代码生成**:当用户定义了服务接口和实现后,插件可以自动生成相应...

    axis2.eclipse.service.plugin-1.5.1-sources.jar

    标签:axis2.eclipse.service.plugin-1.5.1-sources.jar,axis2.eclipse.service.plugin,1.5.1,sources,jar包下载,依赖包

    Axis2.jar包

    1. **Java** - Axis2是基于Java语言开发的,因此与Java环境紧密相连,可以与Java应用程序无缝集成,利用Java的特性进行Web服务开发。 2. **Axis2.jar** - 这是本文档的重点,Axis2的核心库文件,包含了处理Web服务...

    org.apache.axis2.jar

    org.apache.axis2.jar

    axis1.4.1.zip

    Axis1是一个开放源码的Web服务框架,用于构建和部署Web服务。在1.4版本中,可能存在某些代码与JDK 1.8的并发特性不兼容,导致在高并发操作中出现问题。这个问题可能出现在服务器处理大量并发请求时,由于不正确的...

    eclipse插件 org.apache.axis2.eclipse.codegen.plugin_1.7.4.jar

    eclipse插件 org.apache.axis2.eclipse.codegen.plugin_1.7.4.jar

    Java远程通信技术——Axis实战.doc

    Axis 1.x 版本是基于 JAX-RPC 实现的,而 Axis 2.x 则是基于 JAX-WS 标准构建的,这使得 Axis 2.x 在功能和性能上都有了显著提升。Axis 提供了一整套工具,包括代码生成器、部署工具以及客户端调用库,使得开发者...

    org.apache.axis2.eclipse.codegen.plugin_1.6.3

    4. **版本兼容性**:1.6.3版本确保与 Axis2 1.6.x系列库的兼容,这意味着它可以与其他1.6.x版本的Axis2组件协同工作。 `org.apache.axis2.eclipse.service.plugin_1.6.3`则是Apache Axis2的服务发布插件,它使...

    axis2.eclipse.codengen.plugin-SNAPSHOT-axis2-eclipse-codege-plugin.zip

    1. **Axis2框架**:Apache Axis2是基于Java的Web服务引擎,支持SOAP 1.1/1.2和RESTful服务,提供了服务组件模型,用于构建高性能、可扩展的Web服务。 2. **Eclipse插件**:该插件是专门为Eclipse IDE设计的,能够...

    axis2.eclipse.service.plugin-1.5.jar

    标签:axis2.eclipse.service.plugin-1.5.jar,axis2.eclipse.service.plugin,1.5,jar包下载,依赖包

    axis2.eclipse.service.plugin-1.5-sources.jar

    标签:axis2.eclipse.service.plugin-1.5-sources.jar,axis2.eclipse.service.plugin,1.5,sources,jar包下载,依赖包

    jetty axis2.war

    **Jetty Axis2.war详解** Jetty是一个轻量级且高效的开源Java Web服务器和Servlet容器,它允许开发者快速地部署和管理Web应用程序。而Axis2则是Apache软件基金会的一个项目,提供了一个强大的Web服务引擎,用于实现...

    eclipse 插件org.apache.axis2.eclipse.service.plugin_1.7.8

    eclipse 4.9.0 插件org.apache.axis2.eclipse.service.plugin_1.7.8

    axis.war axis2.war

    标题中的"axis.war"和"axis2.war"指的是两个在Java Web服务开发中广泛使用的Web应用程序档案(WAR)文件。WAR文件是Java Servlet容器(如Tomcat、Jetty等)可部署的Web应用程序的标准格式,它们包含了运行Web应用所...

Global site tag (gtag.js) - Google Analytics