Galileo Computing < openbook >
Galileo Computing - Programming the Net
Galileo Computing - Programming the Net


Java ist auch eine Insel (2. Aufl.) von Christian Ullenboom
Programmieren für die Java 2-Plattform in der Version 1.4
Java ist auch eine Insel (2. Auflage)
gp Kapitel 25 Dienstprogramme für die Java-Umgebung
  gp 25.1 Die Werkzeuge im Überblick
  gp 25.2 Der Compiler javac
    gp 25.2.1 Der Java-Interpreter java
  gp 25.3 Das Archivformat Jar
    gp 25.3.1 Das Dienstprogramm Jar benutzen
    gp 25.3.2 Das Manifest
    gp 25.3.3 Jar-Archive für Applets und Applikation
  gp 25.4 Mit JavaDoc und Doclets dokumentieren
    gp 25.4.1 Mit JavaDoc Dokumentationen erstellen
    gp 25.4.2 Wie JavaDoc benutzt wird
    gp 25.4.3 Eine Dokumentation erstellen
    gp 25.4.4 JavaDoc und Doclets
  gp 25.5 Dienstprogramme zur Signierung
    gp 25.5.1 Mit keytool Schlüssel erzeugen
    gp 25.5.2 Signieren mit jarsigner
  gp 25.6 Konvertierung von Java Byte Code in ein Windows–Exe mit JET
  gp 25.7 Manteln von Javaklassen in ein Windows-Exe mit JexePack
  gp 25.8 Decompiler
    gp 25.8.1 Jad, ein schneller Decompiler
    gp 25.8.2 SourceAgain
    gp 25.8.3 Dekompilieren erschweren
  gp 25.9 Obfuscate Programm RetroGuard
  gp 25.10 Source-Code Beautifier
  gp 25.11 Ant
    gp 25.11.1 Bezug und Installation von Ant
    gp 25.11.2 Properties
    gp 25.11.3 Externe und vordefinierte Properties
    gp 25.11.4 Weitere Leistungen


Galileo Computing

25.5 Dienstprogramme zur Signierung  downtop

Wir wollen uns in diesem Abschnitt mit einigen Werkzeugen beschäftigen, die zur Signierung von Applets des Java-SDK in der Standard-Installation angeboten werden. Zum Signieren von Applikationen sowie Applets und zur Vergabe der Zugriffsrechte und –beschränkungen stellt Sun die Dienstprogramme keytool, jarsigner und policytool bereit.


Galileo Computing

25.5.1 Mit keytool Schlüssel erzeugen  downtop

Mit dem Programm keytool lassen sich öffentliche und private Schlüssel erzeugen, die in einer passwortgeschützten und verschlüsselten Datei abgelegt werden. Die Datei hat standardmäßig den Namen .keystore und befindet sich im Benutzerverzeichnis des Anwenders. Mit dem Programm keytool lassen sich neben der Schlüsselgenerierung auch Zertifikate importieren, Zertifikatsanforderungen ausstellen und Schlüssel als vertrauenswürdig festlegen.

Möchten wir einen Schlüssel erstellen, rufen wir das Programm keytool mit der Option –genkey auf. Das ist eine der wichtigsten Optionen. Daneben wird mit der Option -alias ein Name für den Schlüsselinhaber angegeben:

$ keytool -genkey -alias CUllenboom

Anschließend fragt keytool nach dem Passwort des Schlüsselspeichers und erfragt weitere Angaben zum Inhaber. Mit diesen Informationen erzeugt das Programm ein Schlüsselpaar mit einem selbstzertifizierenden Zertifikat. Bei diesem speziellen Zertifikat sind Aussteller und Inhaber identisch.

Tabelle 25.4   Optionen von keytool
-genkey Erzeugung eines Schlüsselpaars
-import Importieren eines Zertifikats
-selfcert Erstellung eines selbstinitiierten Zertifikats
-certreq Export einer Zertifikatsanforderung; sie kann als Datei an eine CA geschickt werden.
-export Export eines Zertifikats. Dieses kann dann von einem anderen Benutzer importiert und als vertrauenswürdig deklariert werden.
-list Listet alle Zertifikate und Schlüssel auf
-delete Entfernt ein Schlüsselpaar
-help Zeigt eine kurze Hilfe an

Die Angabe der Optionen ist immer dann sinnvoll, wenn die Standardeinstellungen unpassend sind. Über die Optionen lassen sich die Algorithmen zur Verschlüsselung und Schlüsselgenerierung ebenso angeben wie eine Pfadangabe des Schlüsselspeichers oder die Gültigkeitsdauer.


Galileo Computing

25.5.2 Signieren mit jarsigner  toptop

Mit dem Dienstprogramm jarsigner können Jar-Archive signiert und verifiziert werden. Dazu erstellt jarsigner einen Hashcode des Archivs und verschlüsselt dann mit dem privaten Schlüssel die Datei. Das Zertifikat und der öffentliche Schlüssel werden dem Archiv beigelegt. Der allgemeine Aufruf von jarsigner hat folgendes Format:

$ jarsigner Archiv Keystore
Beispiel   Signiere das Archiv archiv.jar mit dem Schlüsselspeicher von CUllenboom.
$ jarsigner archiv.jar CUllenboom

Dann werden dem Archiv zwei weitere Dateien hinzugefügt. Eine Signatur-Datei mit der Endung .sf und eine Signaturblock-Datei mit der Endung .dsa. Die Signatur-Datei enthält eine Liste aller Dateien im Archiv und speichert zudem den Hashwert zu einer mit aufgeführten Hashfunktion. Diese Signatur-Datei wird dann mit dem privaten Schlüssel des Signierers signiert und zusammen mit dem verschlüsselten Zertifikat des Signierers in der Signaturblock-Datei gespeichert.

Möchten wir wissen, ob ein Archiv verifiziert ist, schreiben wir:

$ jarsigner -verify Archiv




Copyright © Galileo Press GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de