Avatar billede tommer Nybegynder
27. august 2002 - 13:11 Der er 22 kommentarer og
1 løsning

SSL

jeg har leget lidt med SSL.
når jeg afvikler programmet får jeg en :
IO fejl
java.net.NoRouteToHostException: No route to host: connect
GET http://www.sun.com/index.html  HTTP/1.1

kan nogen forklare hvad der går galt??

kode:

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

public class ssl_test01 {
   
public static void main (String[] args){ 
   
    SSLSocketFactory factory = (SSLSocketFactory) SSLSocketFactory.getDefault(); 
   
    try
    {
    SSLSocket socket = (SSLSocket)    factory.createSocket("www.sun.com", 443);
    PrintWriter out = new PrintWriter(
                        new BufferedWriter(
                        new OutputStreamWriter(
                        socket.getOutputStream())));
    }
    catch(IOException e)
    {
    System.out.println("IO fejl");
    System.out.println(e);
    }
   
    System.out.println("GET    http://www.sun.com/index.html  HTTP/1.1");
    System.out.flush();
   

}//slut main
}//slut klasse
Avatar billede europe Nybegynder
27. august 2002 - 13:18 #1
Har www.sun.com en https ????
Det kan muligvis være det ...
Avatar billede tommer Nybegynder
27. august 2002 - 13:27 #2
kender du andre der har ??
Avatar billede europe Nybegynder
27. august 2002 - 13:37 #3
Du kunne checke denne side ud her skulle være en hel række til sidst samt en masse nyttigt om at bruge ssl og java...

http://www.javaworld.com/javaworld/javatips/jw-javatip96-p2.html
Avatar billede disky Nybegynder
27. august 2002 - 14:24 #4
europe:

Det har den prøv:
https://www.sun.com
Avatar billede disky Nybegynder
27. august 2002 - 14:25 #5
Men ellers prøv en netbank, acceptcard eller en side hvor man skal betale med dankort.
Avatar billede europe Nybegynder
27. august 2002 - 14:31 #6
Okay det var jeg ikke klar over disky :-)
Avatar billede tommer Nybegynder
27. august 2002 - 15:34 #7
jeg kører win xp, og tænkte om der skal installeres noget til xp for at køre ssl ???
og måske nogle systemvariabler der skal sættes op ???????
Avatar billede - Nybegynder
27. august 2002 - 21:49 #8
Sæt evt. en tomcat (http://jakarta.apache.org) server op. Det er MEGET nemt at få den til at køre SSL og så kan du også styre hvad som skal sendes frem og tilbage. Efter installation fjerner du i filen tomcat/conf/server.xml      <-- og -> tags rundt om

Connector className="org.apache.catalina.connector.http.HttpConnector"
              port="8443" minProcessors="5" maxProcessors="75"
              enableLookups="true"
          acceptCount="10" debug="0" scheme="https" secure="true">
      <Factory className="org.apache.catalina.net.SSLServerSocketFactory"
              clientAuth="false" protocol="TLS"/>
    </Connector>

genstarter tomcat serveren og nu kan du connect med https på port 8443
Avatar billede tommer Nybegynder
27. august 2002 - 23:22 #9
det var en go ide, endelig får jeg kontakt med noget....
jeg fatter dog ikke hvorffor min kode til sun ikke virker???
Avatar billede tommer Nybegynder
27. august 2002 - 23:30 #10
når jeg har hul til tomcat, hvordan kan jeg så f.eks hente en fil fra serveren??
Avatar billede europe Nybegynder
28. august 2002 - 08:02 #11
Hva version af jdk bruger du ???? Er det jdk1.3 skal du hente jsse fra sun - dette skulle dog ikke være nødvendig hvis det er jdk1.4...
Avatar billede tommer Nybegynder
28. august 2002 - 08:31 #12
jeg kører 1.4 (incl. jsse)..
Avatar billede - Nybegynder
28. august 2002 - 08:32 #13
kompiler følgende servlet kode:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;


public class HelloServlet extends HttpServlet {
  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
      throws ServletException, IOException {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    String docType =
      "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " +
      "Transitional//EN\">\n";
    out.println(docType +
                "<HTML>\n" +
                "<HEAD><TITLE>Hello</TITLE></HEAD>\n" +
                "<BODY BGCOLOR=\"#FDF5E6\">\n" +
                "<H1>Hello</H1>\n" +
                "</BODY></HTML>");
  }
}

læg klassefilen tomcat/webapps/root/web-inf/classes/


genstart tomcat og connect til din servlet med https://localhost:8443/servlet/HelloServlet

nu kan du jo lave den om til at udføre hvad du vil :)
Avatar billede tommer Nybegynder
28. august 2002 - 23:48 #14
super duper, det spiller med tomcat ;-)
Avatar billede - Nybegynder
29. august 2002 - 14:26 #15
:)
Avatar billede disky Nybegynder
29. august 2002 - 14:34 #16
Hvis du så er rigtig smart, så smider du Tomcat LANGT væk, det er et virkeligt lousy produkt, hent det langt bedre Resin fra www.caucho.com istedet.
Det er hurtigere, performer bedre, bedre dokumentere, og ikke mindst meget lettere at configurere.
Avatar billede tommer Nybegynder
29. august 2002 - 14:38 #17
disky.. du er helt galt på den..... tomcat har ALDRIG givet mig problemer i ca 2 år nu, flere siger at det er noget skod, men det er kun DÅRLIGE rygter...
jeg er lige nu ved at lave min egen ssl server, og DET er fucking svært :o
Avatar billede disky Nybegynder
29. august 2002 - 14:45 #18
jeg taler af erfaring, når jeg siger Tomcat er et dårligt produkt i forhold til Resin.

V4.x er blevet langt bedre end V3.x men den er stadigvæk besværlig.

Den lider under open source problemmet, nemlig besværlig configuration, elendig dokumentation osv.

Jeg har været med på det nok største danske 'gratis hjemmeside' projekt, til at starte med brugte vi Tomcat, vi havde konstant problemmer med det.

Så foreslog jeg Resin istedet, vi købte det, og vupti, problemmerne var væk + performance blev meget bedre.

Så dårlige rygter er det bestemt ikke, tværtimod.

Har siden som konsulent haft lignende problemer igen med tomcat, hvor resin løste dem.
Avatar billede tommer Nybegynder
29. august 2002 - 14:48 #19
fejl 40 ;-)
Avatar billede disky Nybegynder
29. august 2002 - 14:52 #20
hehe, har du nogensinde prøvet andre end tomcat ?

Jeg syntes også den var god indtil jeg prøvede noget bedre.
Avatar billede tommer Nybegynder
29. august 2002 - 14:54 #21
du har sikkert ret.....navnet burde være nok til at skifte *griner*
men det der Resin skal "købes" eller hvad ?
Avatar billede disky Nybegynder
29. august 2002 - 19:07 #22
Hvis det skal bruges kommercielt ja, men til non kommercielle formål, eller udvikling er det gratis, sidst jeg checkede deres licens.
Avatar billede tommer Nybegynder
31. august 2002 - 16:00 #23
denne kode virker :

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 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