XML Security Tools Overview

Das XML-Security Plug-In besteht aus den fünf Komponenten Canonicalization, Digital Signature Wizard, Digital Signature View, Encryption Wizard und Decryption Wizard. Der Fokus liegt stets auf der zu sichernden Ressource, Ausgangspunkt ist also immer ein beliebiges XML-Dokument in einem Eclipse Editor (empfohlen) oder in der Navigator bzw. Package Explorer View. Die Wizards erfordern daher immer zunächst ein zu sicherndes XML-Dokument (-fragment) bevor Sie die Details der digitalen Signatur oder Verschlüsselung festgelegen können.

Ganz im Sinne einer Lernsoftware ist es das Ziel des XML-Security Plug-Ins, Ihnen die größtmöglichen Freiheiten zu lassen und das Experimentieren mit der XML-Sicherheit zu fördern. Das bedeutet, dass Sie in den Wizards so viele Einstellungen wie möglich selbst vornehmen müssen und Ihnen so wenige Einschränkungen wie möglich durch das Plug-in gemacht werden. Teilweise hat das zur Folge, dass in den Wizards viele Angaben getätigt werden müssen, bevor das XML-Dokument verarbeitet werden kann. Auf diese Art können Sie aber am Besten die umfangreichen Eigenschaften und Möglichkeiten der XML-Sicherheit kennen lernen.

Die Grundlagen der Kryptografie, also digitale Signaturen und Verschlüsselung, sind nicht Bestandteil des XML-Security Plug-Ins. Kenntnisse in diesem Bereich sind aber natürlich von Vorteil. Ein hervorragendes und sehr empfehlenswertes Tool hierfür ist das frei erhältliche CrypTool.

Zum schnellen Signieren, Verifizieren sowie Ver- und Entschlüsseln stehen die so genannten Quick Functions zur Verfügung. Die dabei verwendeten Einstellungen werden vorab in den Preferences festgelegt wodurch das Sichern des XML-Dokuments (fast) mit einem Klick erfolgen kann. Zur einfacheren Unterscheidung sind die Icons aller Quick Functions rot eingefärbt, besitzen aber dasselbe Symbol wie die normale Funktion.

Alle Wizards und Befehle des XML-Security Plug-Ins lassen sich über das übersichtliche Kontextmenü an verschiedenen Stellen aufrufen:

Zum einen können Sie im Package Explorer oder Navigator genau ein XML-Dokument markieren. Zum anderen lassen sich sämtliche Funktionen bei einem geöffneten XML-Dokument auch über das Kontextmenü in den meisten Eclipse Editoren erreichen. Die Funktionen des Plug-ins sind immer mit der rechten Maustaste über das Untermenü XML Security erreichbar.

Kontextmenü

Kontextmenü

Nicht alle Eclipse Editoren erlauben eine Erweiterung (das hängt vom Editor ab). Es ist daher durchaus möglich, dass die Funktionen des XML-Security Plug-Ins nicht in Ihrem bevorzugten Editor zur Verfügung stehen. In diesem Fall können Sie das XML-Security Plug-In über das Navigator bzw. Package Explorer Kontextmenü verwenden oder auf einen anderen Editor ausweichen.

Das Kontextmenü ist immer dasselbe, jedoch kann bei einem Aufruf über den Package Explorer bzw. Navigator in den Signature und Encryption Wizards nicht die Option Selection ausgewählt werden. Auch bei der Quick Signature und Quick Encryption ist das Sichern einer Textmarkierung nicht möglich.

Um eine Textauswahl zu signieren oder zu verschlüsseln muss die Textmarkierung bereits vor dem Aufruf des Wizards im Editor vorhanden sein. Ihre Textauswahl darf die Regeln der Wohlgeformtheit nicht verletzen! Das heißt, dass beim Signieren eines Elements sowohl das öffnende als auch das schließende Tag mit in die Auswahl einbezogen werden müssen. Der Inhalt eines Elements kann beliebig signiert oder verschlüsselt werden. Das Signieren oder Verschlüsseln von einzelnen Attributen ist nicht möglich. Würde das Signieren oder Verschlüsseln Ihrer Textauswahl die Wohlgeformtheit verletzen, können Sie im jeweiligen Wizard den Eintrag Selection nicht auswählen. Verlassen Sie in diesem Fall den Wizard wieder und korrigieren Sie die Textauswahl oder sichern Sie das ganze Dokument bzw. ein durch einen XPath Ausdruck spezifiziertes Dokumentfragment.

Beim Aufruf eines Wizards über das Kontextmenü eines Editors steht die Rückgängig-Funktion von Eclipse zur Verfügung. Alle durch das Plug-in vorgenommenen Änderungen können so mit dieser Funktion rückgängig gemacht werden. Beim Aufruf eines Wizards über den Package Explorer bzw. Navigator werden die Änderungen dagegen direkt in das XML-Dokument geschrieben und können nicht rückgängig gemacht werden. Ist das XML-Dokument aber gleichzeitig in einem Eclipse Editor geöffnet können dort auch die Änderungen einer View rückgängig gemacht werden. Bitte beachten Sie daher, dass die Rückgängig-Funktion auch ein entsprechendes Sicherheitsrisiko darstellen kann (der Klartext kann einfach wiederhergestellt werden).