Avatar billede pongobear Nybegynder
22. februar 2007 - 19:47

Certifikater og CDC ?

Står og skal lave et program der bruger https og certifikater.
Problemet er at det er lykkedes mig at lave en https forbindelse (til https://www.sun.com som test) men jeg ved ikke hvordan jeg skal få inkluderet certifikatet (er inkluderet i java så vidt jeg ved, virker fint i j2se).
Har som sagt lavet det i j2se og der gør den det automatisk, men når jeg laver det i j2me/cdc siger den at den ikke kan finde certifikatet.

Koden der virker i j2se men ikke i cdc:

    HttpConnection c = null;
        InputStream is = null;
        try {
   
            c = (HttpConnection)Connector.open("https://www.sun.com");
            c.setRequestMethod(HttpConnection.GET);
            is = c.openInputStream();
        }
        catch(IOException ex){System.out.println(ex);}

Giver:
javax.microedition.pki.CertificateException: Certificate was issued by an unrecognized entity


Noget andet kode:

        try {
        SSLSocketFactory factory =
        (SSLSocketFactory)SSLSocketFactory.getDefault();
        SSLSocket socket =
        (SSLSocket)factory.createSocket("www.verisign.com", 443);

        socket.startHandshake();

        PrintWriter out = new PrintWriter(
                  new BufferedWriter(
                  new OutputStreamWriter(
                      socket.getOutputStream())));

        out.println("GET http://www.verisign.com/index.html HTTP/1.1");
        out.println();
        out.flush();

        /*
        * Make sure there were no surprises
        */
        if (out.checkError())
        System.out.println(
            "SSLSocketClient:  java.io.PrintWriter error");

        /* read response */
        BufferedReader in = new BufferedReader(
                    new InputStreamReader(
                    socket.getInputStream()));

        String inputLine;
        while ((inputLine = in.readLine()) != null)
        System.out.println(inputLine);

        in.close();
        out.close();
        socket.close();

    } catch (Exception e) {
        e.printStackTrace();
    }


Giver javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found


Nogen forslag ?

Problemet ligger vel i at certifikatet ikke ligger på mobilen (emulatoren) ?

/Pong
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester