如何绕过Apache HttpClient 4.0的无效SSL证书错误?
你需要使用自己的TrustManager创建SSLContext并使用此上下文创建HTTPS方案。这是代码,
SSLContext sslContext = SSLContext.getInstance("SSL");
// set up a TrustManager that trusts everything
sslContext.init(null, new TrustManager[] { new X509TrustManager() {
public X509Certificate[] getAcceptedIssuers() {
System.out.println("getAcceptedIssuers =============");
return null;
}
public void checkClientTrusted(X509Certificate[] certs,
String authType) {
System.out.println("checkClientTrusted =============");
}
public void checkServerTrusted(X509Certificate[] certs,
String authType) {
System.out.println("checkServerTrusted =============");
}
} }, new SecureRandom());
SSLSocketFactory sf = new SSLSocketFactory(sslContext);
Scheme httpsScheme = new Scheme("https", 443, sf);
SchemeRegistry schemeRegistry = new SchemeRegistry();
schemeRegistry.register(httpsScheme);
// apache HttpClient version >4.2 should use BasicClientConnectionManager
ClientConnectionManager cm = new SingleClientConnManager(schemeRegistry);
HttpClient httpClient = new DefaultHttpClient(cm);
问题内容: Apache Http客户端。您可以在此处查看相关代码: 这是每个人都用来忽略SSL证书错误的方法(仅将其设置为登台,它将不会在生产中使用)。但是,我仍然收到以下异常/堆栈跟踪: 任何提示都很好。如果我做的TrustManager错误,或者我应该以不同的方式执行HTTP Post方法,则可以选择两种方式。 谢谢! 问题答案: 首先,不要 忽略 证书错误。与他们打交道。忽略证书错误将打开
这应该很容易做到。我可以在Guzze3中找到很多关于如何做到这一点的参考资料,但是它们在Guzze5中不起作用。 我目前正在做的事情: 当我发送请求时,我收到了这个错误: 我在谷歌上找不到任何关于这个错误的有用参考。如果我可以访问旋度选项,那么我可以尝试类似这里建议的解决方案(这是针对Guzzle 3的,因此它不起作用):http://inchoo.net/dev-talk/symfony2-gu
我正在开发一个应用程序,使用rest API将其连接到数据库,我的服务器有一个SSL证书,当我试图发送请求时,从我的反应本地应用程序显示此错误msg是有办法禁用SSL验证反应原生Android。 如果有人知道,帮忙。
问题内容: 如何忽略Apache HttpClient 4.3的SSL证书(全部信任)? 我在SO上找到的所有答案都对待以前的版本,并且API更改了。 编辑: 仅用于测试目的。孩子们,不要在家(或生产中)尝试 问题答案: 以下代码可用于信任自签名证书。创建客户端时,必须使用TrustSelfSignedStrategy: 我没有故意包括:重点是允许使用自签名证书进行测试,因此您不必从证书颁发机构获
问题内容: URL myUrl = new URL(“https://www....."); 网站的SSL证书已过期。如何避免它并使URL()工作? 问题答案: 您应该构建一个包装默认信任管理器的,捕获并忽略它。 注意:如此答案中所述,此设置是否安全在很大程度上取决于实现。特别是,它依赖于在正确检查所有其他内容之后最后执行的日期验证。 遵循这些原则的东西应该起作用: 当证书有问题时,信任管理器将抛