当下面两种情况的SSL,用HttpClient建立连接时,需要使用自定义SSL:
- Ability to accept self-signed or untrusted SSL certificates. This
is highlighted by an
SSLException
with the message
Unrecognized SSL handshake
(or similar) being thrown when a
connection attempt is made.
- You want to use a third party SSL library instead of Sun's default
implementation.
常见代码如下:
PostMethod post = new PostMethod(masupServiceURL);
Protocol myhttps = new Protocol("https",
new MySecureProtocolSocketFactory(), 443);
Protocol.registerProtocol("https", myhttps);
HttpClient client = new HttpClient();
上面的代码中MySecureProtocolSocketFactory的作用就是当SSL证书不受信任(如证书过期),HttpClient可以自动接受证书。当然这种用法有一定的安全隐患,因此当使用这种方法时,还是得先考虑需求。
分享到:
相关推荐
HTTPClient 4.5中提供了这样的功能,可以让我们自定义SSL上下文,从而绕过默认的证书验证。以下是如何操作的步骤: 1. **创建自定义的X509TrustManager**:这个类负责验证服务器证书。我们可以创建一个信任所有证书...
这个实例主要涉及如何配置HttpClient来忽略SSL(Secure Socket Layer)验证,这对于在开发和测试环境中处理自签名证书或未认证的服务器非常有用。以下将详细介绍HttpClient的使用以及如何进行SSL验证的忽略。 首先...
在IT行业中,网络通信是应用程序之间交互的重要方式。...在apitest文件中,你可以找到包含HttpClient工具类代码,包括专门用于跳过SSL证书校验的工具类,这些代码可以作为参考,帮助你在实际项目中实现类似功能。
总结来说,`HTTPClient`访问启用SSL的Quickr REST API涉及到创建支持SSL的Socket工厂以及自定义的信任管理器,以适应不严格的证书验证。这两个类`EasySSLProtocolSocketFactory`和`EasyX509TrustManager`是实现这一...
在这个示例中,我们首先创建了一个不安全的SSLContext,然后用它构建了HttpClient实例。接着,我们使用HttpPost创建了一个POST请求,并设置了URL、请求实体(包含文件和其他参数)。最后,执行请求并处理响应。 请...
在HttpClient中,我们需要创建一个`SSLContext`实例,并使用`SSLSocketFactory`来配置连接管理器。以下是一个简单的示例: ```java // 导入必要的库 import org.apache....
在实际应用中,开发者需要了解如何在Delphi 7项目中导入和使用HTTPClient库,包括设置SSL证书、配置请求头、处理响应数据、错误处理等方面。对于SSL,开发者还需要熟悉证书链验证、私钥管理等概念,以确保安全通信。...
7. **SSL/TLS支持**:HttpClient 4.5.3支持SSL和TLS加密,可以配置信任的证书和密钥库,处理HTTPS请求。 8. **异步操作**:除了同步API,HttpClient还提供了异步API,基于`Future`接口,可以非阻塞地发送请求并接收...
这个事件委托在SSL证书验证过程中被调用,开发者可以在这里编写自定义的逻辑来处理证书验证。例如,如果出于测试目的需要忽略证书验证错误,可以将此回调函数编写为直接返回true,从而忽略所有证书验证失败的情况。 ...
此外,还需要创建一个SSLConnectionSocketFactory,它是HttpClient中的关键组件,负责建立安全的SSL/TLS连接。 接下来,`HttpClientUtil.java`文件可能是实现HttpClient工具类,提供一个静态方法来创建和初始化...
4. **自定义化**:HttpClient允许用户根据需要定制请求头、实体内容、编码策略等,以满足特定的应用场景。 5. **高性能**:通过高效的缓冲机制和对Keep-Alive连接的支持,HttpClient能实现高效的数据传输。 6. **...
此外,还提及了 HttpClient能够以插件式的自定义认证方案以及支持持久连接等高级功能。 在基础知识方面,文档首先讲解了环境的准备,包括下载HttpClient包并将其导入到工程中的具体步骤。随后介绍了几个主要的类,...
标题 "superfly-httpclient-ssl-1.3-7.zip" 暗示这是一个与HTTP客户端和SSL相关的开源项目,版本号为1.3-7。这个项目可能提供了处理HTTPS连接和SSL/TLS加密功能的扩展或库。HTTP客户端通常用于程序间的数据交换,而...
8. **SSL/TLS支持**:HttpClient 可以处理HTTPS连接,通过`SSLContext`和`SSLSocketFactory`可以自定义SSL/TLS配置,包括信任管理器和密钥库。 9. **响应处理**:HttpClient 提供了多种方式处理响应实体,如`...
使用HttpClient,你可以创建GET、POST、PUT等各种HTTP方法的请求,并自定义请求头、参数和实体内容。以下是一个简单的HttpClient调用HTTP接口的示例: ```java CloseableHttpClient httpClient = HttpClients....
当与未验证或自签名的证书的服务器通信时,HttpClient会抛出`javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated`异常。为了解决这个问题,我们需要配置HttpClient以信任所有证书,即使它们不是由...
为了绕过HTTPS证书校验,我们需要自定义`SSLContext`和`TrustManager`。`SSLContext`是SSL/TLS安全套接层的核心,它负责管理和初始化SSL会话。`TrustManager`是负责验证服务器证书的接口。在默认情况下,`httpclient...
7. **连接管理和配置**:HttpClient允许自定义连接管理器以控制连接的建立、重用和关闭。封装工具类可能预设了合理的连接超时、读取超时和池大小,以适应不同的网络环境。 8. **性能优化**:封装工具类可能还包括...
在实际开发中,你可以参考指定的博客链接(http://blog.csdn.net/homebei2)获取更多关于HttpClient 3.1 使用SSL的具体示例和详细教程。不过,由于URL可能随着时间变化,建议在访问时确认链接的有效性。