- 浏览: 372992 次
- 性别:
- 来自: 青岛
文章分类
最新评论
-
lippeng:
楼主,你好!这篇中提到的一个话题,是我现在非常关心的,我自己还 ...
使用JUnit测试通过 HttpClient(https协议)访问支付宝接口时不能自动获得证书的解决办法 -
snoopy7713:
[2014-03-14 17:55:06.651] TCP ...
刚完成Struts的Virgo插件,分享一下设计思路和Virgo OSGi内部的独特机制 -
snoopy7713:
需要看一下,你的代码说的挺模糊的。我的联系方式QQ 16200 ...
刚完成Struts的Virgo插件,分享一下设计思路和Virgo OSGi内部的独特机制 -
roronjavaeye:
不错,受教了
java_class反编译后的代码还原 -
daoyongyu:
讲的很好,很详细。
Struts2配置文件详解——struts.properties
访问https 资源时,让httpclient接受所有ssl证书,在weblogic等容器中很有用
代码如下:
import java.io.IOException; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.Socket; import java.net.SocketAddress; import java.net.UnknownHostException; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import javax.net.SocketFactory; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; import org.apache.commons.httpclient.ConnectTimeoutException; import org.apache.commons.httpclient.params.HttpConnectionParams; import org.apache.commons.httpclient.protocol.SecureProtocolSocketFactory; public class MySecureProtocolSocketFactory implements SecureProtocolSocketFactory { static{ System.out.println(">>>>in MySecureProtocolSocketFactory>>"); } private SSLContext sslcontext = null; private SSLContext createSSLContext() { SSLContext sslcontext=null; try { sslcontext = SSLContext.getInstance("SSL"); sslcontext.init(null, new TrustManager[]{new TrustAnyTrustManager()}, new java.security.SecureRandom()); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (KeyManagementException e) { e.printStackTrace(); } return sslcontext; } private SSLContext getSSLContext() { if (this.sslcontext == null) { this.sslcontext = createSSLContext(); } return this.sslcontext; } public Socket createSocket(Socket socket, String host, int port, boolean autoClose) throws IOException, UnknownHostException { return getSSLContext().getSocketFactory().createSocket( socket, host, port, autoClose ); } public Socket createSocket(String host, int port) throws IOException, UnknownHostException { return getSSLContext().getSocketFactory().createSocket( host, port ); } public Socket createSocket(String host, int port, InetAddress clientHost, int clientPort) throws IOException, UnknownHostException { return getSSLContext().getSocketFactory().createSocket(host, port, clientHost, clientPort); } public Socket createSocket(String host, int port, InetAddress localAddress, int localPort, HttpConnectionParams params) throws IOException, UnknownHostException, ConnectTimeoutException { if (params == null) { throw new IllegalArgumentException("Parameters may not be null"); } int timeout = params.getConnectionTimeout(); SocketFactory socketfactory = getSSLContext().getSocketFactory(); if (timeout == 0) { return socketfactory.createSocket(host, port, localAddress, localPort); } else { Socket socket = socketfactory.createSocket(); SocketAddress localaddr = new InetSocketAddress(localAddress, localPort); SocketAddress remoteaddr = new InetSocketAddress(host, port); socket.bind(localaddr); socket.connect(remoteaddr, timeout); return socket; } } //自定义私有类 private static class TrustAnyTrustManager implements X509TrustManager { public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { } public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { } public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[]{}; } } }
然后按如下方式使用HttpClient
Protocol myhttps = new Protocol("https", new
MySecureProtocolSocketFactory (), 443);
Protocol.registerProtocol("https", myhttps);
HttpClient httpclient=new HttpClient();
之后就是照常使用了,不知道怎样用的话,参考我的其它文章
发表评论
-
java_class反编译后的代码还原
2012-03-18 00:06 1777java class 利用jad 反编译之后,偶尔回碰到 ... -
ThreadLocal的几种误区
2012-01-10 09:48 884最近由于需要用到ThreadLocal,在网上搜索 ... -
深入解析OGNL投影
2011-12-16 15:15 1908先看这个表达式:list.{#me=#this,#root.m ... -
浅谈JAVA ThreadPoolExecutor
2011-01-28 16:36 1331这篇文章分为两部分 ... -
ant echo message 特殊字符转换
2011-01-27 11:54 1727< < > &a ... -
hibernate------hql总结
2010-08-24 12:52 8511. 查询整个映射对象所 ... -
log4j additivity 作用
2010-08-11 22:15 1973log4j.rootLogger=debug,stdout ... -
Log4j 集群环境下的 处理方案
2010-08-11 21:17 3215需求:近期有个项目要 ... -
构建Java并发模型框架
2010-07-12 17:04 917Java的多线程特性为构建 ... -
Java 程序中的多线程
2010-07-12 17:03 818由于在语言级提供了线 ... -
JAVA 线程 基础概念
2010-07-12 17:00 1033Java 有几程方法可以实 ... -
在 Java 平台上进行多线程编程的缺陷
2010-07-12 16:58 970Java 语言的并发编程 就其自身来说,并发编程是一种 ... -
c3p0-0.9.1.2数据库连接池
2010-06-17 11:46 1378C3PO是一个开放源代码的JDBC数据源实现项目,它在li ... -
Axis2快速上手指南
2010-06-03 17:59 815http://hideto.iteye.com/blog/56 ... -
C3P0连接池详细配置与实现
2010-05-31 17:33 1049<c3p0-config> <defau ... -
实例讲解:JAVA SOAP技术
2010-05-25 18:19 2382Very Simple Object Access Proto ... -
Tomcat 5.5 JNDI Resource 配置
2010-05-25 11:14 1656本文来自CSDN博客,转载请标明出处:http://blog. ... -
SSH2 jar
2010-05-21 14:51 1694在JavaEE企业级开发中, ... -
使用JUnit测试通过 HttpClient(https协议)访问支付宝接口时不能自动获得证书的解决办法
2010-04-29 11:17 5251最近在做一个通过 HttpCl ... -
httpclient关于https的使用
2010-04-29 11:04 2815用了大半天时间才了解如何使用httpclient来进行 ...
相关推荐
使用HttpClient4.5实现https请求忽略SSL证书验证工具类
这个实例主要涉及如何配置HttpClient来忽略SSL(Secure Socket Layer)验证,这对于在开发和测试环境中处理自签名证书或未认证的服务器非常有用。以下将详细介绍HttpClient的使用以及如何进行SSL验证的忽略。 首先...
HttpClient配置SSL绕过https证书实例,附件中包含所需httpclient组件jar库。博客地址:http://blog.csdn.net/irokay/article/details/78801307。
// 创建自定义的SSLContext,信任所有证书 SSLContext sslContext = SSLContexts.custom().loadTrustMaterial(null, new TrustStrategy() { @Override public boolean isTrusted(X509Certificate[] chain, String ...
HTTPClient 4.5中提供了这样的功能,可以让我们自定义SSL上下文,从而绕过默认的证书验证。以下是如何操作的步骤: 1. **创建自定义的X509TrustManager**:这个类负责验证服务器证书。我们可以创建一个信任所有证书...
本篇将详细介绍如何配置HttpClient以自动接受所有https的证书,以便在进行测试或调试时避免这些问题。 首先,我们需要理解SSL/TLS证书的工作原理。当客户端(如HttpClient)与服务器建立连接时,服务器会提供其证书...
但是,我们可以通过创建一个信任所有证书的`TrustManager`实例,然后将其设置到`SSLContext`中,从而跳过证书验证。 以下是一个简单的示例,展示了如何使用`httpclient`实现这一功能: ```java import org.apache....
代码可能包括创建一个TrustManager,用于接受任何服务器的证书,或者使用自定义的信任管理器来限制可接受的证书。此外,还需要创建一个SSLConnectionSocketFactory,它是HttpClient中的关键组件,负责建立安全的SSL/...
总结来说,`HTTPClient`访问启用SSL的Quickr REST API涉及到创建支持SSL的Socket工厂以及自定义的信任管理器,以适应不严格的证书验证。这两个类`EasySSLProtocolSocketFactory`和`EasyX509TrustManager`是实现这一...
3. 创建一个`TrustManagerFactory`,通常可以设置为`TrustAllManager`,以接受任何服务器的证书。 4. 初始化`SSLContext`,使用上面的`KeyManagerFactory`和`TrustManagerFactory`。 5. 创建一个`...
要使`httpclient`支持HTTPS访问,首先需要配置SSL上下文。这通常涉及到证书管理、密钥存储以及信任管理等环节。 ### 关键技术细节 #### 3.1 配置SSL上下文 在`httpclient`中使用HTTPS,首先要解决的是SSL上下文的...
httpClient4.5配置SSL绕过https证书,httpClient过时替代方法-附件资源
不会的可以在评论区留言哈,这是我自己做项目用到的。所以绝对可用!同时共享出来给到大家
上述代码中,我们创建了一个信任所有证书的SSLContext,这在开发环境中可能适用,但在生产环境中,你需要根据实际情况配置信任的证书。 总结,通过以上步骤,我们已经成功配置了HttpClient 4.1以支持HTTPS访问。在...
springboot3.2.7 基于java17 ,测试https 接口,基于 RestTemplate 实现
HttpClient之Https应用实例~ 包含: HttpClient 使用代理访问Https HttpClient 信任所有主机-对于任何证书都不做检查 HttpClient 允许所有证书的校验(包括过期证书)
在实际部署时,应确保服务器配置了正确的证书,并启用严格的SSL/TLS验证。 这个Java程序包含了模拟HTTPS文件上传的核心逻辑,你可以根据实际需求调整URL、文件路径和参数。通过运行这个程序,你应该能够成功地在...
在.NET Core中使用HttpClient进行SSL请求时,开发者可能会遇到一个常见的问题:SSL证书验证失败。这通常发生在尝试连接到使用自签名证书或未被信任证书颁发机构(CA)签名的HTTPS服务时。当.NET Core的HttpClient...
HTTPS协议需要SSL/TLS证书来确保数据的安全,而HttpClient需要忽略证书验证过程,以便与HTTPS服务器进行交互。 在本文中,我们将详细介绍如何使用JAVA的HttpClient库来发送POST请求,以便与HTTPS服务器进行交互。...