3

我们遇到了与 ssl 连接相关的问题。问题是应用程序安装后无法使用 ssl connect 连接到服务器。但是,如果杀死该应用程序并重新启动它,它就可以工作。它只发生在 android 4.1.1 上。有人对此有答案吗?日志如下:

W/System.err(17335): javax.net.ssl.SSLException: Error setting private key: ssl=0x52f6aae0: 
W/System.err(17335): error:140C10F7:SSL routines:SSL_SET_PKEY:unknown certificate type (external/openssl/ssl/ssl_rsa.c:189 0x40997bbc:0x00000000)
W/System.err(17335):    at org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_use_OpenSSL_PrivateKey(Native Method)
W/System.err(17335):    at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.setCertificate(OpenSSLSocketImpl.java:471)
W/System.err(17335):    at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.clientCertificateRequested(OpenSSLSocketImpl.java:509)
06-17 17:02:03.682: W/System.err(17335):    at org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_read(Native Method)
06-17 17:02:03.682: W/System.err(17335):    at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl$SSLInputStream.read(OpenSSLSocketImpl.java:651)
W/System.err(17335):    at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:103)
W/System.err(17335):    at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:191)
W/System.err(17335):    at org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:82)
W/System.err(17335):    at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:174)
W/System.err(17335):    at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:180)
W/System.err(17335):    at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:235)
W/System.err(17335):    at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:259)
W/System.err(17335):    at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:279)
W/System.err(17335):    at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:121)
W/System.err(17335):    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:435)
W/System.err(17335):    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:592)
W/System.err(17335):    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:510)
W/System.err(17335):    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:488)

提前致谢。

编辑:我通过将证书保存到本地磁盘并从本地磁盘重新加载来解决了这个问题。希望这对某人有所帮助。

4

0 回答 0