我打算使用Innovation HTTP Client通过HTTPS连接到服务器。
我需要能够接受所有服务器SSL证书。
有一些examples使用HttpsURLConnection,但我需要使用Innovation实现。
有没有人有Innovation HTTP Client的例子?
答案 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) { ... }