【发布时间】:2010-06-25 12:19:02
【问题描述】:
我确定这个小组已经讨论过这个问题,但是我找不到那个帖子,所以请耐心等待,或者如果可能的话将它与原帖合并。
我正在为我的 android 应用程序使用 httpclient,并且我有一个本地站点,其中包含一些 https 页面。由于默认的 httpclient 不允许自签名证书,我使用的是 httpclient 中提到的“EasySSLFactory”和“EasyX509TrustManager” 文档。
client = new DefaultHttpClient();
client.getConnectionManager().getSchemeRegistry().register(new Scheme("https", new EasySSLSocketFactory(), 443));
问题是,如果我在我的 android 应用程序中使用此 SSLFactory,我会从我的网站的 https 页面获得正确的响应,但我会收到“SSL 握手失败:系统调用期间的 I/O 错误,未知错误:0”的网站例如“gmail.com”、“ymail.com”。如果我不使用 “EasySSLSocketFactory”我从这些网站得到响应,但我的网站却出现异常。
有趣的是,这个页面获取代码作为一个独立的 Java 应用程序运行良好。
可能是什么问题。请帮我解决这个问题。
感谢和问候
【问题讨论】:
标签: android https emulation httpclient