创新HTTP客户端 - 如何设置SSL以接受所有服务器证书?

时间:2012-11-30 22:34:56

标签: java ssl https innovation

我打算使用Innovation HTTP Client通过HTTPS连接到服务器。

我需要能够接受所有服务器SSL证书。

有一些examples使用HttpsURLConnection,但我需要使用Innovation实现。

有没有人有Innovation HTTP Client的例子?

1 个答案:

答案 0 :(得分:1)

创新HTTPClient不直接支持HTTPS。有关详细信息,请参阅this page on the Innovation website。您可以在其中列出许多第三方补丁和示例。设置证书接受取决于您选择的补丁实现。

编辑/更新

请注意,正在使用JSSE SSL实施,目的是定义TrustedManager并通过SSLContext将其绑定到HTTPConnection

假设您知道如何创建TrustManager,则会从this Stackoverflow page中选择以下代码,该代码还会显示如何生成一个代码。

TrustManager[] trustAllCerts = new TrustManager[] { ... };

// Install the all-trusting trust manager
try {
    SSLContext sc = SSLContext.getInstance("TLS");
    sc.init(null, trustAllCerts, new java.security.SecureRandom());

根据我之前从创新网站链接获得的JSSE SSL下载的README文件,您可以通过以下方式将其分配给HTTPConnection:

    // Attach context to connection via socket factory
    HTTPConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());

} catch (Exception e) { ... }