harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vasily Zakharov" <...@apache.org>
Subject Re: [net] HTTPS connections
Date Mon, 04 Feb 2008 16:06:23 GMT
Well, I'm not an SSL guru, but studying the specs suggests that you'd
need something like this:

class MySSLSocketFactory extends javax.net.ssl.SSLSocketFactory {
    SSLSocketFactory sf = (SSLSocketFactory) SSLSocketFactory.getDefault();
    public String[] getDefaultCipherSuites() {
        return sf.getDefaultCipherSuites();
    }
    public String[] getSupportedCipherSuites() {
        return sf.getSupportedCipherSuites();
    }
    public Socket createSocket(Socket s, String host, int port,
boolean autoClose) {
        SSLSocket socket = (SSLSocket) sf.createSocket(s, host, port,
autoClose);
        socket.setEnabledProtocols(new String[] {"TLSv1"} );
        return socket;
    }
}

and then:

javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(new
MySSLSocketFactory());
URL url = new URL("https://issues.apache.org/jira/browse/HARMONY-62");
InputStream is = url.openStream();

Vasily




On Feb 4, 2008 3:13 PM, Alexey Petrenko <alexey.a.petrenko@gmail.com> wrote:
> Here is my test case:
>
> === cut ===
> import java.io.FileOutputStream;
> import java.io.InputStream;
> import java.net.URL;
>
> public class HTTPSTest {
>     public static void main(String argv[]) throws Exception {
>         URL url = new URL("https://issues.apache.org/jira/browse/HARMONY-62");
>         InputStream is = url.openStream();
>
>         FileOutputStream os = new FileOutputStream("HARMONY-62.html");
>
>         byte []buf = new byte[2048];
>         int r;
>         do {
>             r = is.read(buf);
>             if (r > 0)
>                 os.write(buf, 0, r);
>         } while (r != -1);
>
>         is.close();
>         os.close();
>     }
> }
> === cut ===
>
> Is there any way to set TLS as https transport in this case?
>
> SY, Alexey
>
> 2008/2/4, Vasily Zakharov <vmz@apache.org>:
>
> > I've tried Geronimo/Jetty a week ago, and HTTPS/TLS worked.
> >
> > Afaiu you must make sure you use TLS security, as Hamony doesn't have
> > SSL support.
> >
> > Vasily
> >
> >
> > On Feb 4, 2008 1:30 PM, Alexey Petrenko <alexey.a.petrenko@gmail.com> wrote:
> > > Guys,
> > >
> > > does anybody knows the status of HTTPS connections possibility in
> > > Harmony? Are they working? :)
> > >
> > > I wrote a small test which loads a page from our JIRA. And it fails
> > > with the following stack trace:
> > >
> > > === cut ===
> > > Uncaught exception in main:
> > > javax.net.ssl.SSLProtocolException: Unexpected message type has been
> > > received: 72
> > >         at org.apache.harmony.xnet.provider.jsse.SSLRecordProtocol.unwrap(SSLRecordProtocol.java:362)
> > >         at org.apache.harmony.xnet.provider.jsse.SSLSocketImpl.doHandshake(SSLSocketImpl.java:719)
> > >         at org.apache.harmony.xnet.provider.jsse.SSLSocketImpl.startHandshake(SSLSocketImpl.java:438)
> > >         at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.getSecureSocket(HttpConnection.java:168)
> > >         at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnection$HttpsEngine.connect(HttpsURLConnection.java:398)
> > >         at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:871)
> > >         at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnection.getInputStream(HttpsURLConnection.java:252)
> > >         at java.net.URL.openStream(URL.java:674)
> > >         at HTTPSTest.main(HTTPSTest.java:8)
> > > === cut ===
> > >
> > > Any ideas?
> > >
> > > Thanks in advance.
> > >
> > > SY, Alexey
> > >
> >
>

Mime
View raw message