Avatar billede tommer Nybegynder
20. august 2002 - 14:33 Der er 20 kommentarer og
1 løsning

fejl ved kompilering

jeg får denne fejl ved kompilering:
Error reading: java.net.SocketException: SSL implementation not available

hvordan gøres SSL available??
Avatar billede dsj Nybegynder
20. august 2002 - 15:17 #1
Jeg er nødt til at se noget mere kode :)
Avatar billede tommer Nybegynder
20. august 2002 - 15:18 #2
ok kommer her:

import java.io.*;
import java.net.*;
import javax.net.*;
import javax.net.ssl.*;

public class JSSE {
  static final int HTTPS_PORT = 443;
  public static void main(String args[]) {
      String hostname;

      // Get hostname or use VeriSign
      if (args.length == 0) {
          hostname = "www.verisign.com";
      } else {
          hostname = args[0];
      }

      try {

          // Get Socket factory
          SocketFactory factory = SSLSocketFactory.getDefault();

          // Get Socket from factory
          Socket s = factory.createSocket(hostname, HTTPS_PORT);

          // Send request
          OutputStream os = s.getOutputStream();
          PrintWriter pw = new PrintWriter(os);

          // Setup command
          String command = "GET / HTTP/1.0\r\n\r\n";

          pw.print(command);
          pw.flush();

          // Get response
          InputStream is = s.getInputStream();
          InputStreamReader isr = new InputStreamReader(is);
          BufferedReader br = new BufferedReader(isr);

          String line;

          while ((line = br.readLine()) != null) {
              System.out.println(line);
          }

          pw.close();
          br.close();
          s.close();

      } catch (IOException e) {
          System.err.println("Error reading: " + e);
      }
  }
}
Avatar billede dsj Nybegynder
20. august 2002 - 15:25 #3
(en fejl at ovenstående er et svar...)

Jeg har ikke noget konkret bud, men prøv at finde fejlen ved at skrive:

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

Så er det nemmere at se, hvad der udløser fejlen
Avatar billede tommer Nybegynder
20. august 2002 - 15:27 #4
sorry, tak anyway jeg prover med printStackTrace();
jeg tror måske at det er fordi ssl ikke er inkluderet i de java pakker som jeg har installeretpå min pc.
Avatar billede tommer Nybegynder
20. august 2002 - 15:29 #5
jeg kan forresten godt kompilere, det er først ved afvikling at det går galt!!!
Avatar billede europe Nybegynder
20. august 2002 - 16:00 #6
ssl skulle være med i jdk1.4 men ikke i tidligere versioner..
Den skal derfor hentes på www.java.sun.com

Kikker lige på om jeg kan finde hele adresen ...
Avatar billede europe Nybegynder
20. august 2002 - 16:18 #7
Det kan muligvis være https det er galt med og den kan findes på

http://java.sun.com/products/jsse/

Ellers kan du finde ud af om det er
SocketFactory factory = SSLSocketFactory.getDefault();
eller
Socket s = factory.createSocket(hostname, HTTPS_PORT);

Der smider exceptionen (jeg tror det er en af dem..)
Avatar billede europe Nybegynder
20. august 2002 - 16:38 #8
Hvorfor skal det også være https og ikke http ???
Avatar billede carstenknudsen Nybegynder
20. august 2002 - 19:38 #9
Er du sikker på at den maskine du connect'er
til rent faktisk understøtter https? For
at afklare problemet foreslår jeg at du
laver en klient og en server der begge
benytter https og får det til at køre først.
Har du oprettet certifikater?
Avatar billede tommer Nybegynder
20. august 2002 - 22:13 #10
jeg leger lidt videre, og jeg tror selv at 'europe' har ret i at problemet er at jeg kun har jdk 1.3.1.
prøver lige med 1.4, så får i en tilbagemelding.........
Avatar billede carstenknudsen Nybegynder
20. august 2002 - 22:22 #11
Det lyder mærkeligt at du kan compilere
hvis du kun bruger 1.3.1.
Avatar billede tommer Nybegynder
20. august 2002 - 22:49 #12
der er ingen problemer med at compilere....
Error reading: java.net.SocketException: SSL implementation not available
kommer først når jeg kører programmet.
Avatar billede europe Nybegynder
21. august 2002 - 08:25 #13
Jeg havde selv lidt samme problem da jeg prøvede at gøre det samme og jeg kunne også godt kompilere men ikke køre skidtet (Jeg kan ikke lige huske om det var samme fejl)..
Avatar billede carstenknudsen Nybegynder
21. august 2002 - 09:09 #14
Har du sat de nødvendige properties,
såsom javax.net.ssl.trustStore og
javax.net.ssl.keyStore?
Avatar billede europe Nybegynder
21. august 2002 - 09:31 #15
Her er det jeg brugte til at lave connectionen med det kan måske hjælpe dig lidt

.
.
.
import java.net.URL;
import java.net.MalformedURLException;
import javax.net.ssl.SSLSocket;
import javax.net.ssl.SSLSocketFactory;
import java.security.Security;
import com.sun.net.ssl.internal.ssl.*;
.
.
.
.

System.setProperty("java.protocol.handler.pkgs",
                            "com.sun.net.ssl.internal.www.protocol");
      Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
           
      URL url = new URL(p_addresse);
           
      SSLSocketFactory factory=(SSLSocketFactory)SSLSocketFactory.getDefault();
      SSLSocket socket =(SSLSocket)factory.createSocket(url.getHost(), 443);

Det fik jeg til at virke ..
Avatar billede tommer Nybegynder
21. august 2002 - 09:35 #16
jeg kan sgu ikke finde JDK 1.4 på suns hjemmeside, er det noget med at de har lavet navnet om eller hvad ?
har du evt et link ??
Avatar billede carstenknudsen Nybegynder
21. august 2002 - 09:37 #17
Avatar billede tommer Nybegynder
21. august 2002 - 09:38 #18
tak for det ;-)
Avatar billede emileej Nybegynder
22. august 2002 - 10:06 #19
Sun er et genialt firma, men selvom jeg godt kan lide deres forside, kan jeg ikke sige det samme om deres navigation :)
Avatar billede tommer Nybegynder
22. august 2002 - 10:43 #20
helt enig, navigationen er noget skod, ellers ok ;-)
Avatar billede tommer Nybegynder
24. august 2002 - 15:58 #21
jeg leger lidt videre, tak til alle ;-)
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