Einkaufszettel drucken

Astrail-Home
Software-Team
Wellness
© 2005-2006 Albrecht Müller, E-Mail: albrecht.mueller@astrail.de, Änderungsstand: 02. Oktober 2006
<<--
-->>

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:
Bildschirmkopie des Einkaufszettel-Programms

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?


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.