Um einem JavaApplet erweiterte Rechte einzuräumen, die es besipielsweise ermöglichen auf die lokale Festplatte zu schreiben, muss das Applet signiert werden.

Folgendes Batch-Script, das ich in einem Forum gefunden habe, beschreibt gut die notwendigen Schritte, und automatisiert diese bei Bedarf gleich. Eine an das aktuelle Projekt angepasste Version des Scripts im Arbeitsverzeichnis ist ein große Erleichterung beim Entwickeln, da das Signieren nach jeder Codeänderung neu durchgeführt werden muss:

@echo off
rem * Ablauf beim Signieren
rem *
rem * Erzeugen eines eigenen Schlüssels
rem * Mit KeyTool, einem Werkzeug aus dem SDK, einen neuen Schlüssel erzeugen:
rem * keytool -genkey -alias Signer -dname “cn=Dein Name, c=de”
rem * Gib anschließend Dein Passwort ein.
rem
rem * Erzeugen eines Zertifikats
rem * Mit KeyTool Zertifikat erzeugen:
rem * keytool -selfcert -alias Signer -dname “cn=Dein Name, c=de”
rem * Gib anschließend dein Passwort ein.
rem *
rem * Signieren des Applets
rem * Signieren des Applets mit Hilfe des Tools jarsigner
rem * jarsigner signed.jar Signer
rem * Und noch einmal dein Passwort eingeben.

echo = jarsign-Batch-Tool =
echo Dieses Tool hilft beim Erzeugen von signierten jar-Dateien
echo.
echo Schritt 1: jar-Dateien erzeugen
echo ——————————-

rem Pfad zum SDK setzen
rem –> anpassen!
set path=.;C:\Programme\Java\jdk1.5.0\bin

echo Manifestdatei erzeugen…
echo Manifest-Version: 1.0>manifest.mf
echo Created-by: jarsign-Batch-Tool>>manifest.mf

if exist *.jar goto key
echo jar-Datei mit angegebenen Parametern erzeugen…
rem –> anpassen!
rem * In diesem Beispiel werden alle .class-Dateien und die Verzeichnisse bilder und etc
rem * mit ins jar-Archiv gepackt.
jar cfvm MeinJar.jar manifest.mf *.class bilder etc

:key
echo.
echo Schritt 2: Schluessel generieren
echo ——————————–
rem –> anpassen!
keytool -genkey -alias Signer -dname “cn=Dein Name, c=de”

echo.
echo Schritt 3: Zertifikat erzeugen
echo ——————————
rem –> anpassen!
keytool -selfcert -alias Signer -dname “cn=Dein Name, c=de”

if not exist *.jar goto error
echo.
echo Schritt 4: jar-Datei signieren
echo ——————————
echo jarsigner erwartet hier nochmals dein Passwort.
rem –> anpassen!
jarsigner MeinJar.jar Signer

echo.
echo Schritt 5: Zertifikat testen
echo —————————-
rem –> anpassen!
jarsigner -verify -verbose -certs MeinJar.jar
goto end

:error
echo.
echo Es wurde keine jar-Datei zum Signieren gefunden.
echo Die Erzeugung der jar-Datei ist moeglicherweise fehlgeschlagen.
echo Pruefe deine Eingaben in der Batchdatei!

:end
if not exist manifest.mf goto console
echo.
rem Manifest von Festplatte löschen
del manifest.mf

:console
rem Console für Ausgaben noch geöffnet lassen
echo.
pause