代码之家  ›  专栏  ›  技术社区  ›  Guido

Android SSL尝试连接GAE/Java失败

  •  2
  • Guido  · 技术社区  · 14 年前

    我在真实设备(HTC Hero)中使用Android 2.1,出现以下错误: SSL23_GET_SERVER_HELLO:unknown protocol .

    这是我代码的一部分:

    HttpParams params = new BasicHttpParams();        
    ...
    
    SchemeRegistry schemeRegistry = new SchemeRegistry();
    schemeRegistry.register(
            new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
    schemeRegistry.register(
            new Scheme("https", SSLSocketFactory.getSocketFactory(), 443));
    ..
    ClientConnectionManager cm = 
            new ThreadSafeClientConnManager(params, schemeRegistry);
    DefaultHttpClient result = new DefaultHttpClient(cm, params);
    

    这是完整的堆栈跟踪:

    09-25 18:19:05.452: ERROR/OpenSSLSocketImpl(1195): Unknown error 1 during connect
    09-25 18:19:05.460: ERROR/ServerProxy(1195): HTTPHelp : IOException : java.io.IOException: SSL handshake failure: Failure in SSL library, usually a protocol error
    09-25 18:19:05.460: ERROR/ServerProxy(1195): error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol (external/openssl/ssl/s23_clnt.c:585 0xaf586674:0x00000000)
    09-25 18:19:05.460: ERROR/ServerProxy(1195): java.io.IOException: SSL handshake failure: Failure in SSL library, usually a protocol error
    09-25 18:19:05.460: ERROR/ServerProxy(1195): error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol (external/openssl/ssl/s23_clnt.c:585 0xaf586674:0x00000000)
    09-25 18:19:05.460: ERROR/ServerProxy(1195):     at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.nativeconnect(Native Method)
    09-25 18:19:05.460: ERROR/ServerProxy(1195):     at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:305)
    09-25 18:19:05.460: ERROR/ServerProxy(1195):     at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl$SSLInputStream.<init>(OpenSSLSocketImpl.java:502)
    09-25 18:19:05.460: ERROR/ServerProxy(1195):     at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.getInputStream(OpenSSLSocketImpl.java:443)
    09-25 18:19:05.460: ERROR/ServerProxy(1195):     at org.apache.http.impl.io.SocketInputBuffer.<init>(SocketInputBuffer.java:93)
    09-25 18:19:05.460: ERROR/ServerProxy(1195):     at org.apache.http.impl.SocketHttpClientConnection.createSessionInputBuffer(SocketHttpClientConnection.java:83)
    09-25 18:19:05.460: ERROR/ServerProxy(1195):     at org.apache.http.impl.conn.DefaultClientConnection.createSessionInputBuffer(DefaultClientConnection.java:170)
    09-25 18:19:05.460: ERROR/ServerProxy(1195):     at org.apache.http.impl.SocketHttpClientConnection.bind(SocketHttpClientConnection.java:106)
    09-25 18:19:05.460: ERROR/ServerProxy(1195):     at org.apache.http.impl.conn.DefaultClientConnection.openCompleted(DefaultClientConnection.java:129)
    09-25 18:19:05.460: ERROR/ServerProxy(1195):     at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:136)
    09-25 18:19:05.460: ERROR/ServerProxy(1195):     at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
    09-25 18:19:05.460: ERROR/ServerProxy(1195):     at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
    09-25 18:19:05.460: ERROR/ServerProxy(1195):     at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:348)
    09-25 18:19:05.460: ERROR/ServerProxy(1195):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
    09-25 18:19:05.460: ERROR/ServerProxy(1195):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
    

    非常感谢你。

    1 回复  |  直到 14 年前
        1
  •  0
  •   Kai    14 年前

    我不使用Java,但是对于GAE——您在应用程序yaml? http://code.google.com/appengine/kb/general.html#https