Android - 仅版本8(2.2 froyo) - ssl握手失败

时间:2010-07-19 21:54:33

标签: android ssl android-2.2-froyo

以下代码适用于HTTP(API版本7和8)和HTTPS(API版本7)。 对于HTTPS(API版本8),我收到错误“java.io.IOException:SSL握手失败:SSL库失败,通常是协议错误”

任何想法为什么单独使用版本8?

代码......

            HttpURLConnection connection = null;
            BufferedReader brd  = null;
            String line = "" ;
            StringBuilder sb = new StringBuilder();


            try {
                //Set up the initial connection
                //connection = (HttpURLConnection) new URL("http://MYSERVER.com").openConnection(); //Works
                connection = (HttpURLConnection) new URL("https://MYSERVER.com").openConnection(); //error
                connection.connect();

                    brd  = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                    sb = new StringBuilder();
                    while ((line = brd.readLine()) != null)
                        sb.append(line);

                                  System.out.println(sb.toString());
       } catch (IOException e) {
                e.printStackTrace();
            }  finally{
                //close the connection, set all objects to null
                connection.disconnect();
                brd = null;
                sb = null;
                connection = null;
            }

完整的错误堆栈

WARN / System.err(267):java.io.IOException:SSL握手失败:SSL库失败,通常是协议错误 WARN / System.err(267):错误:140773F2:SSL例程:SSL23_GET_SERVER_HELLO:sslv3警告意外消息(external / openssl / ssl / s23_clnt.c:599 0xaf076ad8:0x00000000) 在org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.nativeconnect(本机方法) 在org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:316) 在org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.getSecureSocket(HttpConnection.java:168) at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnectionImpl $ HttpsEngine.connect(HttpsURLConnectionImpl.java:399) 在org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:147)

谢谢, 纳拉亚南

0 个答案:

没有答案