android - 创建 SSL 套接字时出现 NullPointerException

标签 android ssl nullpointerexception httpclient

在我的应用程序中,我通过 SSL 与网络服务通信。因为我使用了默认情况下不受 android 支持的多部分实体,所以我包含了以下库:

  • httpclient-4.1.1.jar
  • httpcore-4.1.jar
  • httpmime-4.1.1.jar

服务器使用由 android 支持的授权机构签名的证书。这适用于大多数设备。今天,我的一位用户 (Android 2.2 Motorola Defy) 向我发送了一条日志,其中包含以下内容:

W/System.err( 2328): Caused by: java.lang.NullPointerException
W/System.err( 2328): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketFactoryImpl.createSocket(OpenSSLSocketFactoryImpl.java:83)
W/System.err( 2328): at org.apache.http.conn.ssl.SSLSocketFactory.createSocket(SSLSocketFactory.java:375)
W/System.err( 2328): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:168)
W/System.err( 2328): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
W/System.err( 2328): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
W/System.err( 2328): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:352)
W/System.err( 2328): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
W/System.err( 2328): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
W/System.err( 2328): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
W/System.err( 2328): at my.api.Client.sendRequest(Client.java)
...

我无法在我的设备上重现这一点,我也不知道为什么会这样。我查看了 OpenSSLSocketFactoryImpl 的源代码,发现 NullPointerException 的唯一来源是因为 sslParametersnull。您知道我可以在我的代码中做什么来解决这个异常吗?

如果您不知道如何解决问题,但知道要问发送日志给我的用户什么,也请给出答案。 我已经问过他,当他试图通过 https 访问网站时,他的浏览器是否显示错误消息。我会在收到回复后立即附在此处。

最佳答案

回溯不完全匹配,但如果您的用户使用代理服务器,您可能想查看您的 HttpClient 版本是否修复了此错误:http://code.google.com/p/android/issues/detail?id=5255

关于android - 创建 SSL 套接字时出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6384194/

相关文章:

android - 计步器是否默认在后台运行?

java - 出来的图像比平常小! Android-Java开发

Android 默认按钮监听器?

java - Ajax 向 Servlet 发出请求时返回 404

windows - 如何在 Windows Server 2016 (IIS 10) 上启用服务器端 SSL3.0、TSL1?

java - Lejos EV3 "Null Pointer Exception",但我不知道如何修复它

android - 如何制作底部应用栏或底部导航栏,如谷歌家庭应用?

Java信任库

java - Intellij IDEA 空指针异常

java - getReadableDatabase() 上的 NullPointerException