Alexander Rehbein: Mehrere jars auf einmal signieren / Bash-Problem

Hallo zusammen,

ich habe folgendes kleines Problem:

Eine WebStart-Anwendung liegt bei mir auf dem Server und ist bereits fertig signiert.
Jetzt ist aber ein fremdes jar dazugekommen und will ebenfalls signiert werden. Da ich aber das entsprechende Zertifikat kenne/habe möchte ich die ganzen jars mit einem eigenen Zertifikat "ausstatten".

Das Kommando dafür habe ich bereits gefunden:

jarsigner archiv.jar key_alias

den entsprechenden key_alias habe ich bereits erstellt - das war kein Problem. Das Signieren einer einzelnen jar war auch nicht weiter das Problem - nur wie kann ich einen ganzen Haufen automatisch signieren? *.jar als Parameter klappt leider nicht.

ein ls | jarsigner key_alias leider auch nicht.

Außerdem möchte er bei jedem File ein Passwort von mir.

Weiß einer Rat? Evt. ein Tipp für ein kleines Bash-Script? Bin leider nicht so firm auf der Linux Plattform - muss das in einem Uni-Projekt machen :(

Vielen Dank und schöne Grüße
Alex

  1. Hi,

    kann dir leider nicht helfen. Melde mich nur, da ich auch einiges in Java mache und mich bisher mit diesem Thema nicht beschäftigt habe.

    Wozu ist das Signieren von Jars oder einer Jar-Datei notwendig? Warum macht man das bzw. sollte man das machen?

    Grüße,
    Thorsten F.

    1. Du kennst sicher diese Zertifikatsanzeigen wenn Du eine https-Seite aufrufst - dasselbe gibt es eben bei diesen WebStart-Programmen.

      Frag mich nicht wieso, aber es ist notwendig, damit der Client das Programm ausführen kann ;)

      1. Hej,

        Frag mich nicht wieso, aber es ist notwendig, damit der Client das Programm ausführen kann ;)

        Weil die Webstart-Anwendungen vollwertige Applikationen sind, direkt aus dem Internet aufrufbar sind und ihr Dasein sogar außerhalb des Browserfensters fristen dürfen. Anders als bei Applets ist also hier z.B. der volle Zugriff auf Clientressourcen möglich. Daher muss der Nutzer also wenigstens dem Ausführen der Anwendung zustimmen indem er das Zertifikat akzeptiert.

        Andernfalls wäre nämlich denkbar, dass durch das reine Aufrufen einer Webseite, eine fremde Person vollen Zugriff auf deinen Rechner hätte. Zumindest in den Grenzen die Java bereitstellt.

        Beste Grüße
        Biesterfeld

        --
        Art.1: Et es wie et es
        Art.2: Et kütt wie et kütt
        Art.3: Et hätt noch immer jot jejange
        Das Kölsche Grundgesetz
  2. Hallo Alexander.

    jarsigner archiv.jar key_alias

    den entsprechenden key_alias habe ich bereits erstellt - das war kein Problem. Das Signieren einer einzelnen jar war auch nicht weiter das Problem - nur wie kann ich einen ganzen Haufen automatisch signieren? *.jar als Parameter klappt leider nicht.

    Vielleicht so?

    for i in *.jar;do jarsigner "$i" key_alias;done

    Außerdem möchte er bei jedem File ein Passwort von mir.

    Dagegen wirst du wohl nichts unternehmen können, sofern das „jarsigner“-Programm nicht über einen eingebauten Batchmechanismus verfügt.

    Einen schönen Donnerstag noch.

    Gruß, Mathias

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    debian/rules
    1. Hey,

      Dagegen wirst du wohl nichts unternehmen können, sofern das „jarsigner“-Programm nicht über einen eingebauten Batchmechanismus verfügt.

      hat's glücklicherweise. http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/jarsigner.html#Options

      Man kann dennoch viele Programme, die auf Tastatureingaben warten, mit expect steuern. http://www.die.net/doc/linux/man/man1/expect.1.html

      --
      水-金-地-火-木-土-天-海-冥
      1. Hallo 迪拉斯.

        Man kann dennoch viele Programme, die auf Tastatureingaben warten, mit expect steuern. http://www.die.net/doc/linux/man/man1/expect.1.html

        Interessantes Kommando, könnte mal nützlich werden. Danke.

        Einen schönen Freitag noch.

        Gruß, Mathias

        --
        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
        debian/rules