Avatar billede vis_dk Nybegynder
09. februar 2004 - 20:17 Der er 2 kommentarer

SSL Handshake Exception og ValidatorException

Hej,
Jeg har skrevet en metode som udskriver indholdet af en webside, det virker fint med almindelige sider, men jeg skal hente indholdet af en webside som er beskyttet, jeg får derfor en exception, mit spørgsmål er hvordan jeg certificerer med serveren.

Exception'en ser således ud: "javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found"
og "Caused by: sun.security.validator.ValidatorException: No trusted certificate found"

Endnu et spørgsmål er om jeg skal bruge HttpsURLConnection istedet for HttpURLConnection da siden bruger https.

Stykke af min kode, hvis det kan hjælpe:
URL url = new URL(adresse);
HttpURLConnection con = (HttpURLConnection)url.openConnection();
Avatar billede etherlore Nybegynder
09. februar 2004 - 21:10 #1
I had a problem like this a while ago. I don't have time to help you properly, I'll just paste the code i used. Basicly I had to create a trustmanager that trust all certs and then use the trustmanager as a parameter when creating the sslsocket. Hope this helps.

try{
        TrustManager[] trustAllCerts = new TrustManager[]{
            new X509TrustManager() {
          public java.security.cert.X509Certificate[] getAcceptedIssuers() {
            return null;
          }
          public void checkClientTrusted(
            java.security.cert.X509Certificate[] certs, String authType) {
          }
          public void checkServerTrusted(
            java.security.cert.X509Certificate[] certs, String authType) {
          }
        }
        };
        SSLContext sc = SSLContext.getInstance("SSL");
        sc.init(null, trustAllCerts, new java.security.SecureRandom());
        SSLSocketFactory s = sc.getSocketFactory();
        sslSocket = (SSLSocket) s.createSocket(controlSock, "arcticstar.mine.nu",
                                                16000, false);
        sslSocket.addHandshakeCompletedListener(new HandShakeListener());
      }
      catch(Exception e){e.printStackTrace();}
Avatar billede vis_dk Nybegynder
09. februar 2004 - 21:38 #2
I must admit that i don't get it all... :/

anyone who can explain?

eller andre som har et forslag?
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