tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
Like Tree1Danke
ERLEDIGT
NEIN
ANTWORTEN
22
ZUGRIFFE
10510
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    coolerouny Tutorials.de Gastzugang
    hallo

    wie kann man mit einem applet eine textdatei auslesen bzw sie umschreiben?

    mfg
    coolerouny
     

  2. #2
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo!

    Du mußt das Applet signieren, damit es auf Dateien des Clients zugreiffen kann. Wenn das Applet entsprechend signiert ist, kannst du wie in jeder normalen Java Applikation Dateien auslesen und manipulieren.

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  3. #3
    coolerouny Tutorials.de Gastzugang
    aha!

    und wie mach ich das?

    mfg
    coolerouny
     

  4. #4
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo!

    Unser Applet:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    
       /**
        * 
        */
       package de.tutorials.applet.signed;
       
       import java.io.DataInputStream;
       import java.io.DataOutputStream;
       import java.io.File;
       import java.io.FileInputStream;
       import java.io.FileOutputStream;
       
       import javax.swing.JApplet;
       import javax.swing.JLabel;
       
       /**
        * @author Tom
        * 
        */
       public class SignedAppletExample extends JApplet {
        long lastStartTime;
       
        public void start() {
            File file = new File("c:/applet.data");
            try {
                if (file.exists()) {
                DataInputStream dis = new DataInputStream(new FileInputStream(
                            file));
                    lastStartTime = dis.readLong();
                    dis.close();
                    file.delete();
                }
                DataOutputStream dos = new DataOutputStream(new FileOutputStream(
                        file));
                dos.writeLong(System.currentTimeMillis());
                dos.flush();
                dos.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
       
            add(new JLabel("Last start: " + lastStartTime));
        }
       }

    Nun erstellen wir ein jar Archiv ... namens signedApplet.jar.

    Anschließend erstellen wir uns ein Zertifikat:
    Zertifikat erstellen:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
       C:\Programme\Java\jdk1.5.0_04\bin>keytool.exe -alias hans -genkey
       Geben Sie das Keystore-Passwort ein:  foobar
       Wie lautet Ihr Vor- und Nachname?
        [Unknown]:  Hans Mustermann
       Wie lautet der Name Ihrer organisatorischen Einheit?
        [Unknown]:  NoName
       Wie lautet der Name Ihrer Organisation?
        [Unknown]:  NoName Inc.
       Wie lautet der Name Ihrer Stadt oder Gemeinde?
        [Unknown]:  Saarbrücken
       Wie lautet der Name Ihres Bundeslandes oder Ihrer Provinz?
        [Unknown]:  Saarland
       Wie lautet der Landescode (zwei Buchstaben) f³r diese Einheit?
        [Unknown]:  DE
       Ist CN=Hans Mustermann, OU=NoName, O=NoName Inc., L=Saarbr?cken, ST=Saarland, C=DE richtig?
        [Nein]:  ja
       
       Geben Sie das Passwort f³r <hans> ein.
            (EINGABETASTE, wenn Passwort dasselbe wie f³r Keystore):

    Nun müssen wir noch das Jar signieren:
    Code :
    1
    2
    3
    4
    
     C:\Programme\Java\jdk1.5.0_04\bin>jarsigner.exe E:\eclipse\3.1.1\eclipse\workspace\de.tutorials.applet.signed\signedApplet.jar hans
       Enter Passphrase for keystore: foobar
       
       Warning: The signer certificate will expire within six months.

    Wir erstellen folgende index.html Seite zum anzeigen des Applets:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
       <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
       <html>
       <head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
       <title>Insert title here</title>
       </head>
       <body>
       <applet code="de.tutorials.applet.signed.SignedAppletExample" archive="signedApplet.jar" />
       </body>
       </html>

    Wenn wir unser Applet nun im Browser anschauen, so erhalten wir eine Sicherheitswarnung... bestätigen wir diese mit "ausführen" so kann unser Applet auch auf Systemresourcen zugreiffen.

    Gruß Tom
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken Textdateien mit Applet auslesen-signedappletsecuritywarning.jpg  
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  5. #5
    coolerouny Tutorials.de Gastzugang
    aha

    werd mal schaun ob ich das schaff


    danke

    mfg
    coolerouny
     

  6. #6
    maxx06 Tutorials.de Gastzugang
    Hallo, ich habe versucht das Applet zum laufen zu bringen, aber leider funktioniert es nicht.
    Das Applet startet zwar und ews kommt auch

    "Last start:"

    aber dann nur eine "0" und die Abfrage nach dem Zertifikat erscheint auch nicht

    Könnte mir jemand sagen woran das liegt?

    Gruß Maximilian
     

  7. #7
    Alex02 Alex02 ist offline Mitglied Silber
    Registriert seit
    Jun 2006
    Ort
    Gollhofen (Bayern)
    Beiträge
    91
    Hallo Thomas,
    ich probier grad nach Deiner Anleitung vorzugehen:

    Wenn ich die Datei jarsigner.exe ausführe bekomme ich folgende Meldung:


    C:\Sun\AppServer\jdk\bin>jarsigner.exe C:\Security.jar
    Usage: jarsigner [options] jar-file alias
    jarsigner -verify [options] jar-file

    [-keystore <url>] keystore location

    [-storepass <password>] password for keystore integrity

    [-storetype <type>] keystore type

    [-keypass <password>] password for private key (if different)

    [-sigfile <file>] name of .SF/.DSA file

    [-signedjar <file>] name of signed JAR file

    [-verify] verify a signed JAR file

    [-verbose] verbose output when signing/verifying

    [-certs] display certificates when verbose and verifying

    [-tsa <url>] location of the Timestamping Authority

    [-tsacert <alias>] public key certificate for Timestamping Authority

    [-altsigner <class>] class name of an alternative signing mechanism

    [-altsignerpath <pathlist>] location of an alternative signing mechanism

    [-internalsf] include the .SF file inside the signature block

    [-sectionsonly] don't compute hash of entire manifest

    [-protected] keystore has protected authentication path

    [-providerName <name>] provider name

    [-providerClass <class> name of cryptographic service provider's
    [-providerArg <arg>]] ... master class file and constructor argument


    das Applet ausführen kann ich dann auch nicht.

    Noch eine Frage, muss ich etwas in "Manifest.mf" anpassen?

    Gruß

    Alex
     

  8. #8
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo!

    Code :
    1
    
     C:\Sun\AppServer\jdk\bin>jarsigner.exe C:\Security.jar

    Da fehlt noch als zweiter Parameter der Key-Store alias den du fuer das Signieren dieses Jars verwenden willst.

    In meinem Beispiel:
    Code :
    1
    
    jarsigner.exe E:\eclipse\3.1.1\eclipse\workspace\de.tutorials.applet.signed\signedApplet.jar hans

    Gruss Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  9. #9
    Alex02 Alex02 ist offline Mitglied Silber
    Registriert seit
    Jun 2006
    Ort
    Gollhofen (Bayern)
    Beiträge
    91
    Hallo Tom,

    das hat jetzt ge****t.

    kann aber trotzdem nicht drauf zugreifen.

    Ich versuch es folgendermaßen aufzurufen:

    <HTML>
    <HEAD>
    <TITLE> Fleckengenerator </TITLE>
    </HEAD>

    <BODY>
    Dieses Dokument dient der Demonstration des Fleckengenerators <br>
    <br>
    Wenn Sie möchten, können Sie sich unter dem Ausgabefenster des SpotApplets den Quelltext zur Erzeugung
    der Flecken ansehen
    <hr>

    <APPLET CODE="exportPaket.Ap_Report.class" archive="Security.jar "WIDTH=400 HEIGHT=200>
    </APPLET>

    <hr>

    </BODY>

    </HTML>

    Ich bekomm die Meldung "Applet exportPaket.Ap_report notinited"



    Gruß

    Alex
     

  10. #10
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo!

    Ich glaube du solltest mal etwas genauer hinsehen, wenn du ein Beispiel nachmachst...
    Code :
    1
    
    ...code="de.tutorials.applet.signed.SignedAppletExample"...

    lass bei:
    Code :
    1
    
     <APPLET CODE="exportPaket.Ap_Report.class" archive="Security.jar "WIDTH=400 HEIGHT=200>
    mal das .class im CODE Attribut hinten weg...

    Gruss Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  11. #11
    Alex02 Alex02 ist offline Mitglied Silber
    Registriert seit
    Jun 2006
    Ort
    Gollhofen (Bayern)
    Beiträge
    91
    Hallo Tom,

    vielen Dank für Deine Hilfe.

    Es scheint zu funktionieren.

    Danke nochmals.

    Gruß

    Alex
     

  12. #12
    Alex02 Alex02 ist offline Mitglied Silber
    Registriert seit
    Jun 2006
    Ort
    Gollhofen (Bayern)
    Beiträge
    91
    Doch nochmal eine Frage.

    Lokal läuft das Ganze.

    Ich hab jetzt das Security.jar auf den Server kopiert und will das mit Folgendem aufrufen
    (VTL wird beim Laden der Seite gestartet):

    <HTML>
    <HEAD>
    <TITLE> Fleckengenerator </TITLE>
    </HEAD>

    <BODY>
    Dieses Dokument dient der Demonstration des Fleckengenerators <br>
    <br>
    Wenn Sie möchten, können Sie sich unter dem Ausgabefenster des SpotApplets den Quelltext zur Erzeugung
    der Flecken ansehen
    <hr>

    <APPLET CODE="exportPaket.Ap_Report" archive="//intedis2/c$/xtreme/org/portal_new/internal/system/vm/html/include/Security.jar" WIDTH=600 HEIGHT=400>
    </APPLET>


    </BODY>
    </HTML>

    bekomme dabei die Fehlermeldung:

    Laden: Klasse exportPaket.Ap_Report nicht gefunden

    java.lang.ClassNotFoundException: exportPaket.Ap_Report

    at sun.applet.AppletClassLoader.findClass(Unknown Source)

    at java.lang.ClassLoader.loadClass(Unknown Source)

    at sun.applet.AppletClassLoader.loadClass(Unknown Source)

    at java.lang.ClassLoader.loadClass(Unknown Source)

    at sun.applet.AppletClassLoader.loadCode(Unknown Source)

    at sun.applet.AppletPanel.createApplet(Unknown Source)

    at sun.plugin.AppletViewer.createApplet(Unknown Source)

    at sun.applet.AppletPanel.runLoader(Unknown Source)

    at sun.applet.AppletPanel.run(Unknown Source)

    at java.lang.Thread.run(Unknown Source)

    Caused by: java.io.IOException: open HTTP connection failed.

    at sun.applet.AppletClassLoader.getBytes(Unknown Source)

    at sun.applet.AppletClassLoader.access$100(Unknown Source)

    at sun.applet.AppletClassLoader$1.run(Unknown Source)

    at java.security.AccessController.doPrivileged(Native Method)

    ... 10 more



    Das Verzeichnis C ist hier freigegeben!

    Ich habs auch mit CODEBASE="//intedis2/c$/xtreme/org/portal_new/internal/system/vm/html/include" probiert

    Nüschts!

    Eine Idee?

    Gruß

    Alex
     

  13. #13
    Alex02 Alex02 ist offline Mitglied Silber
    Registriert seit
    Jun 2006
    Ort
    Gollhofen (Bayern)
    Beiträge
    91
    Sorry, mein Fehler.

    Ich hab mich vertippt.

    Gruß

    Alex
     

  14. #14
    Alex02 Alex02 ist offline Mitglied Silber
    Registriert seit
    Jun 2006
    Ort
    Gollhofen (Bayern)
    Beiträge
    91
    Hallo,

    es läuft doch noch nicht so ganz.

    Wenn ich von meinem Client aus auf den Server zugreife alles wunderbar.

    Versucht jedoch ein Anderer von seinem Client aus zuzugreifen, streikt das ganze Teil (Damit meine ich dass der FileChooser nicht geladen wird)!

    Ich nehm mal an es liegt an den Benutzerrechten. Ich bin angemeldet als Admin.
    Bei anderen Admins funktioniert das auch, jedoch nicht bei einem normalen User.


    Was könnte der Grund sein?
    Bringt es was, wenn ich die Signierung auf dem Server durchführe?
    Gruß

    Alex
    Geändert von Alex02 (30.06.06 um 13:39 Uhr)
     

  15. #15
    Lautsprecher Lautsprecher ist offline Mitglied Gold
    Registriert seit
    Jun 2005
    Beiträge
    246
    Hallo,
    ich versuche gerade Tom's Beispiel zum Laufen zu bringen.
    allerdings erhalte ich beim Jar signieren folgende Fehlermeldung.


    Code :
    1
    2
    3
    4
    5
    6
    
    C:\Programme\Java\jdk1.6.0\bin>jarsigner.exe C:\Gesigntes Applet\signedApplet.ja
    r mickey
    Enter Passphrase for keystore:
    jarsigner: Certificate chain not found for: Applet\signedApplet.jar.  Applet\sig
    nedApplet.jar must reference a valid KeyStore key entry containing a private key
     and corresponding public key certificate chain


    Grüße
     

Ähnliche Themen

  1. Textdateien + Anzahl auslesen
    Von Yellow2505 im Forum PHP
    Antworten: 32
    Letzter Beitrag: 09.08.08, 02:12
  2. TextDateien auslesen - Performance
    Von Dark Ranger im Forum Java
    Antworten: 0
    Letzter Beitrag: 14.01.08, 08:50
  3. Antworten: 7
    Letzter Beitrag: 15.05.07, 02:35
  4. Textdateien auslesen und bearbeiten
    Von aegaes im Forum C/C++
    Antworten: 4
    Letzter Beitrag: 17.06.05, 18:06
  5. Antworten: 1
    Letzter Beitrag: 26.07.03, 00:14