Allgemeines
Ausgehend von der Überlegung, dass gesunde Ernährung mit dem
Einkaufen anfängt, wird auf dieser Seite steht ein kleines
Programm zur Verfügung gestellt. Damit können Sie
Blätter ausdrucken, die dazu gedacht sind, dass
sie an einer
Pinwand aufgehängt werden. Man notiert darauf die Dinge, die
fehlen und
schneidet Zettel ab, bevor man zum Einkaufen geht. Das Format der
Zettel ist so, dass sie in eine Geldbörse passen. Weil sich
manchmal
mehrere Zettel in der Geldbörse ansammeln, ist das Blatt als
Kalender gestaltet, d.h. die Zettel sind mit
einem
Datum versehen. Damit kann man feststellen, welcher der aktuelle Zettel
ist. Um die Überraschungen zu reduzieren, vor verschlossenen
Geschäften
zu stehen, weil man einen Feiertag übersehen hat, sind auch
Feiertage
darauf vermerkt.
Auf Ihrem Rechner sieht es etwa wie folgt aus:
Es zeigt die Vorschau auf die Einkaufszettel, wie sie ausgedruckt
werden sollen. Jedes Kalenderblatt ist ein Einkaufszettel.
Rechtliche Hinweise
Die Verwendung dieses Programms erfolgt natürlich auf eigene
Gefahr, Haftung ist, soweit es die geltenden gesetzlichen Vorschriften
zulassen, ausgeschlossen. Die Informationen auf dieser Webseite geben
entsprechen meinem Wissensstand zum Zeitpunkt, zu dem die Webseite
erstellt wurde - sie können auch falsch sein. Wenn Sie das
Programm herunterladen oder
verwenden, erkennen Sie diese Bedingungen an.
Für die, die es
ganz eilig haben, das Programm auszuprobieren
und eine Java Runtime Umgebung 1.4.x installiert haben:
Vorbemerkung:
Die folgende Beschreibung bezieht sich auf Rechner, die
unter Windows 98, Windows XP oder ähnlichen Betriebssystem laufen.
Ich nehme an, dass sich Linux oder
Mac-Rechner ähnlich verhalten, habe es aber noch nicht
ausprobiert. Wenn Sie nicht wissen, ob eine Java Runtime Umgebung auf
Ihrem Rechner
installiert ist, können Sie auf der auf der Seite "
Java Runtime installieren" einige
Tipps finden, die Ihnen helfen sollen, diese Software auf Ihrem Rechner
zu installieren oder zu finden. Die Verwaltung der Zertifikate scheint
sich in Java Version 1.5.x geändert zu haben - das habe ich aber
noch nicht ausprobiert..
Wie startet man das
Programm?
- Zunächst die Datei hinter dem Link einkaufszettel.jnlp (ca. 1 kByte)
herunterladen.
- Dann die heruntergeladene Datei starten - normalerweise geschieht
dies durch einen Doppelklick auf die Datei oder mit einem Klick mit der
rechten Maustaste und dann auf "Launch" im Kontextmenü.
- Nun sollte Java Web Start das Programm (ca. 90 kByte)
herunterladen und sich mit der dringenden Empfehlung melden, dieses
Programm nicht auszuführen. Wenn man diese Warnung ignoriert und
das Programm trotzdem ausführt, sollte es gestartet werden und es
müsste ein Fenster erscheinen, das so ähnlich aussieht wie
das oben gezeigte.
Zertifikate - wozu?
Was steckt hinter der
Warnung, das Programm
auszuführen?
Der Wortlaut der oben erwähnten Warnung ist ungefähr (
Bild der Dialogbox
"Sicherheitswarnung"):
Anwendung fordert
unbeschränkten Zugriff auf Ihren lokalen Rechner und Ihr Netzwerk.
Möchten Sie das Programm installieren und ausführen: Einkaufszettel
Signiert und in Umlauf gebracht von: Albrecht
Mueller
Warnung: Die Authentizität dieses Zertifikats konnte nicht
verifiziert werden. Es kann keine Aussage zum Ursprung oder der
Gültigkeit des Codes gemacht werden.
Es wird dringend empfohlen, diesen Code nicht zu installieren und
auszuführen. |
| Starten |
Details |
Beenden |
Hinter dieser Warnung steckt der Gedanke,
dass aus dem
Internet heruntergeladene Java-Programme, deren Herkunft nicht klar
ist, keine Kontrolle über den Rechner erhalten sollten. Es
wäre ja möglich, dass damit schädlicher Code in Umlauf
gebracht wird - daher sollte man es sich nicht angewöhnen, diese
Warnung zu ignorieren.
Praktisch alle Programme, die üblicherweise auf einem Rechner
installiert
sind, dürfen Dateien lesen und schreiben oder auf den Drucker
zugreifen. Bösartige Programme könnten diese und eine Reihe
weiterer Möglichkeiten für allerlei unerwünschte
Aktivitäten nutzen. Um Schäden zu verhindern, lässt Java
Web Start Programme aus dem Internet
in
einer "Sandkasten"-Umgebung ("Sandbox")
ablaufen. In dieser Umgebung sind als potentiell gefährlich
eingestufte Aktivitäten nur unter gewissen
Vorsichtsmaßnahmen möglich.
Zu den nur eingeschränkt möglichen Aktivitäten
gehört u.a. der Zugriff auf den Drucker. Um die Zettel
drucken zu können, muss das Einkaufszettel-Programm daher die
Erlaubnis erhalten, diese Aktivitäten auf Ihrem Rechner
auszuführen.
Das Zertifikat zum
Einkaufszettel-Programm
Einen Zugriff außerhalb des Sandkastens gestattet Java Web Start
nur Programmen, die eine
elektronische Unterschrift tragen. Es ist nun sehr einfach, ein
Programm mit irgendeiner elektronischen Unterschrift zu versehen. Eine
elektronische Unterschrift alleine ist daher nicht viel wert, und
deswegen erscheint die oben erwähnte Warnung.
Der Wert einer Unterschrift entsteht dadurch, dass man
überprüfen kann, wer unterschrieben hat. Diesem Zweck dienen
elektronische Zertifikate. Das Zertifikat, das zu der Unterschrift
(Signatur) des Einkaufszettel-Programms gehört, finden Sie
hinter diesem Link, der zur Datei albrecht.cer
führt. Dieses Zertifikat wird charakterisiert durch die folgenden
Informationen:
Eigentümer: CN=Albrecht
Mueller,
O=astrail, C=DE
Aussteller: CN=Albrecht Mueller, O=astrail, C=DE
Seriennummer 432ee377
Gültig ab: Mon Sep 19 17:12:39 GMT+01:00 2005 bis: Sat Sep 19
17:12:39 GMT+01:00 2015
Zertifikatfingerabdrücke:
MD5:
5D:93:3C:EF:2F:58:31:5C:69:14:9E:D1:90:19:F5:65
SHA1:
92:1A:7B:88:04:70:79:B6:59:99:79:E0:0A:05:08:E4:43:36:B9:B7
Aus diesen Informationen geht hervor, dass mein Zertifikat auch von mir
selbst ausgestellt wurde. Es ist also vergleichbar mit einem Zettel,
auf dem meine Unterschrift steht, und dazu meine Behauptung, dass dies
meine Unterschrift wäre. Es ist jedoch nicht so etwas wie die
Unterschrift in einem Ausweisdokument, bei dem ein Dritter meine
Unterschrift beglaubigt.
Die Seriennummer, die von manchen Tools in dezimaler
Darstellung als 1127146359 angegeben wird, dient dazu, dieses
Zertifikat zu identifizieren. Es ist nicht hundertprozentig sicher,
dass diese Nummer eindeutig ist. Es sollte aber ziemlich
unwahrscheinlich sein, dass Sie einem anderen Zertifikat mit derselben
Seriennummer begegnen.
Realen Ausweisdokumenten vergleichbar haben Zertifikate eine
Gültigkeitsdauer, weil die Chancen von
Fälschungen im Lauf der Zeit steigen. Der zu dem Zertifikat
gehörende geheime Schlüssel könnte in falsche Hände
geraten, es
könnten Möglichkeiten gefunden werden, die hinter den
Zertifikaten stehenden krypographischen Algorithmen zu "knacken"
u.ä.
Die beiden mit MD5 bzw. SHA1 bezeichneten Fingerabdrücke
benötigt man, um sicherzustellen, dass das Zertifikat nicht
verändert
wurde. Ein Zertifikat kann man sehr leicht verändern - ein
Texteditor reicht in vielen Fällen dazu aus. Der Fingerabdruck
eines Zertifikats ist eine lange Zahl, die aus dem Inhalt des
Zertifikats berechnet wird. Dazu verwendet man üblicherweise zwei
Verfahren, den MD5- oder den SHA1-Algorithmus. Diese Algorithmen sind
so aufgebaut, dass Veränderungen am Zertifikat einen anderen
Fingerabdruck ergeben, und es gilt als praktisch unmöglich, ein
Zertifikat so zu verändern, dass der Fingerabdruck gleich bleibt.
Wenn zwei Zertifikate mit denselben Fingerabdrücken vorliegen,
kann man also ziemlich sicher sein, dass auch deren Inhalt gleich ist,
es sich also um dieselben Zertifikate handelt.
Importieren des
Zertifikats in Java Web Start
Java Web Start überprüft vor dem ersten Start eines
Programms, das vom Internet heruntergeladen wird, die Unterschrift.
Programme ohne Unterschrift, d.h. nicht signierte Programme,
dürfen nur in der Sandbox laufen. Bei signierten Programmen wird
überprüft, ob Java Web Start die Zertifizierungsstelle kennt,
die das Zertifikat ausgestellt hat. Wenn das nicht der Fall ist, kommt
die oben erwähnte Warnmeldung. Wenn die Zertifizierungsstelle
bekannt ist, erscheint die Warnmeldung in abgeschwächter Form.
Zertifikatsverwaltung
unter Java Web Start / Root-Zertifikat
hinzufügen
In einem begrenzten Umfang kann Java Web Start Zertifikate verwalten.
Java Web Start kennt eine Liste von Root-Zertifikaten- Diese Liste
enthält Zertifikation von bekannten Zertifizierungsstellen, d.h.
von Stellen, die die Echtheit von Zertifikation bestätigen, in dem
sie diese mit Ihrer elektronischen Unterschrift versehen. Diese Liste
findet man über Weg Java Web Start -> Datei ->
Einstellungen -> Root-Zertifikate. Zu dieser Liste kann man
mit dem Knopf "Importieren" weitere Zertifikate hinzufügen.
Die Datei
albrecht.cer kann man
herunterladen und als Root-Zertifikat importieren. Beim Import wird man
nach einem Namen und einem Passwort gefragt (
Bild
der Dialogbox "Zertifikat importieren"). Den Namen können Sie
frei wählen. Mit diesem Namen können Sie später dieses
Zertifikat in der Liste der Root-Zertifikate wiederfinden. Für das
Passwort genügt nach meinen Erfahrungen eine leere Eingabe.
Anmerkung 1: Ich habe bis jetzt noch keine Möglichkeit gefunden,
ein
einmal hinzugefügtes Zertifikat ohne zusätzliche Hilfsmittel
wieder zu löschen. Wenn man die Zertifikate verwalten will,
benötigt man das Programm "keytool", das in dem System Development
Kit von Java 2 enthalten ist sowie das Passwort der
Zertifikatsdatei. Wenn man dieses Werkzeug nicht zur Verfügung
hat, kann man sich allenfalls so behelfen,
dass man vor Änderungen an der Liste der Root-Zertifikate die
Datei "cacerts" sichert und bei Bedarf die geänderte Datei mit dem
gesicherten Original überschreibt. Die Datei cacerts befindet sich
in dem Verzeichnis, in dem sich auch javaws.exe befindet, d.h. die
Datei zu Java Web Start gehörende ausführbare Datei.
Anmerkung 2: Unter Windows XP kann habe ich den Fall beobachtet,
dass der Import des Zertifikats nichts bewirkte, obwohl das Zertifikat
in der Liste der Zertifikate angezeigt wurde. Beim nächsten Start
von Java Web Start war es nicht mehr in der Liste der Zertifikate. Das
Problem ließ sich dadurch beheben, dass man das Zertifikat als
Benutzer mit Administratorrechten importierte.
Was bewirkt das neue
Root-Zertifikat?
Mit dem Import gilt dieses Zertifikat als das einer
vertrauenswürdigen Zertifizierungsstelle. Da es selbst auch von
dieser Zertifizierungsstelle signiert wurde, ändert sich die
Warnmeldung, die man vor dem ersten Start des Programms erhält zu (
Bild der Dialogbox mit der
abgeschwächten Sicherheitswarnung):
Anwendung fordert
unbeschränkten Zugriff auf ihren lokalen Rechner und Ihr Netzwerk.
Möchten Sie das Programm installieren und ausführen: Einkaufszettel
Signiert und in Umlauf gebracht von: Albrecht
Mueller
Authentizität des Veröffentlichers verifiziert von: Albrecht Mueller
Vorsicht: Albrecht Mueller
behauptet, dieser Inhalt sei sicher. Sie sollten diese Anwendung nur
installieren und ausführen, wenn Sie der Aussage von Albrecht Mueller vertrauen.
|
Starten
|
Details
|
Beenden
|
Die unterschiedlichen Warnmeldungen erlauben es, Programme unbekannter
Herkunft von solchen zu unterscheiden, deren Zertifikate durch eine der
Java Web Start bekannten Zertifizierungsstellen signiert sind.
Ich hoffe, dass klar geworden ist, dass Zertifikate nichts über
die Qualität eines Programms aussagen, sondern es
ermöglichen, die Herkunft eines signierten Programmes
zurückzuverfolgen. Zertifikate werden übrigens noch an
anderesn Stellen verwendet. Die Verwaltung der Zertifikate, die Windows
XP verwendet, findet man bei bei den Internetoptionen mit dem Button
"Zertifikate" bzw. "Herausgeber" unter dem Reiter "Inhalte". Für
Java-Plugins kann es eine weitere Verwaltung von Zertifikaten geben,
die man in der Systemsteuerung findet.
Meinem Eindruck nach sind diese Verwaltungen unabhängig
voneinander, d.h. Java Web Start kennt die Zertifikate nicht, die in
die Internetoptionen importiert wurden.
Auf der
Software-Team-Seite
finden Sie meine Adresse und Telefonnummer. Wenn sie Fragen oder
Anregungen zu dem
Thema haben würde ich mich über eine E-Mail an
albrecht.mueller@astrail.de
freuen.