XML-Signatureinstellungen

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Datenquellen und -ziele > XML und XML-Schema > Digitale Signaturen >

XML-Signatureinstellungen

Die Signatureinstellungen werden für jede Komponente einzeln im Dialogfeld "Komponenteneinstellungen" der jeweiligen Komponente gespeichert. Alle diese Einstellungen werden beim Speichern in der MFD-Datei gespeichert.

dlg_xml_signature_settings

Dialogfeld "XML-Signatureinstellungen"

 

Authentifizierungsmethode: Zertifikat oder Passwort

Die Signatur kann auf einem Zertifikat oder einem Passwort basieren. Wählen Sie das Optionsfeld für die gewünschte Methode aus.

 

Zertifikat:
Wenn Sie ein Zertifikat verwenden möchten, muss dieses einen privaten Schlüssel (private key) haben und sich in einem Zertifikatspeicher befinden, auf den Zugriff besteht. Die Signatur wird anhand des privaten Schlüssels des Zertifikats generiert. Zur Überprüfung der Signatur muss Zugriff auf das Zertifikat (oder eine Public-Key-Version davon) bestehen. Der öffentliche Schlüssel (public key) des Zertifikats dient zur Überprüfung der Signatur. Klicken Sie zur Auswahl des Private-Public-Key-Zertifikats auf die Schaltfläche Auswählen und navigieren Sie zum Zertifikat.
 
Passwort: Geben Sie ein Passwort mit einer Länge von fünf bis 16 Zeichen ein. Anhand dieses Passworts wird die Signatur erstellt und dieses Passwort wird später benötigt, um die Signatur zu überprüfen. Die Schaltfläche "OK" des Dialogfelds wird nur aktiv, wenn diese Anforderung erfüllt wird.

 

Passwort in MFD-Datei speichern:
Wenn diese Option aktiv ist, wird das in das Feld "Passwort" eingegebene Passwort in verschlüsselter Form in der MFD-Datei gespeichert, so dass es für Personen nicht lesbar ist. Beachten Sie, dass jeder Benutzer, der Zugriff auf die MFD-Datei hat, mit Hilfe dieses Passworts Signaturen erstellen kann.

 

Transformationen

Die XML-Daten werden transformiert und das Ergebnis der Transformation wird zur Erstellung der Signatur verwendet. Sie können den Kanonisierungsalgorithmus, der auf die XML-Daten der Datei (den SignedInfo-Inhalt) anzuwenden ist, definieren, bevor die Signatur berechnet wird. Im Folgenden einige wichtige Unterschiede zwischen den Algorithmen:

 

Canonical XML mit oder ohne Kommentare:
Wenn Kommentare bei der Berechnung der Signatur einbezogen werden, so führt jede Änderung an den Kommentaren in den XML-Daten zu einem Fehler bei der Überprüfung der Signatur. Im anderen Fall dürfen Kommentare nach der Signierung des Dokuments geändert oder hinzugefügt werden, ohne dass die Signatur dadurch ungültig wird.

 

Anmerkung:

"...mit Kommentaren" steht nur für die Platzierung mit der Option "detached" zur Verfügung.

 

 

Base64:
Das Root- (oder Dokument-) Element des XML-Dokuments wird als Base64-kodiert betrachtet und in seiner Binärform gelesen. Wenn das Root-Element nicht in Base64 kodiert ist, wird ein Fehler zurückgegeben oder das Element als leer gelesen, je nachdem, welcher Elementtyp verwendet wird.

 

Keine:
Es wird keine Transformation durchgeführt und die XML-Daten aus der auf der Festplatte gespeicherten Binärdatei werden direkt an die Signaturüberprüfung übergeben. Alle späteren Änderungen an den Daten führen dazu, dass die Signatur nicht verifiziert werden kann.

 

Wenn allerdings das Kontrollkästchen Whitespaces zwischen XML-Elementen entfernen aktiviert ist, so werden alle Whitespace-Zeichen entfernt und Änderungen an Whitespace-Zeichen werden bei der Signaturüberprüfung ignoriert.

 

Ein grundlegender Unterschied zwischen der Option Keine und einer der Canonical-Optionen ist, dass bei der Kanonisierung ein XML-Datenstrom erzeugt wird, in dem einige Unterschiede wie z.B. die Reihenfolge der Attribute normalisiert wird. Als Folge davon werden Änderungen wie eine andere Attributreihenfolge bei einer Kanonisierungstransformation normalisiert (sodass die Signatur verifiziert werden kann), während eine solche Änderung berücksichtigt wird, wenn keine Transformation durchgeführt wird (d.h. die Signatur kann nicht verifiziert werden).

 

Beachten Sie allerdings, dass standardmäßig eine Kanonisierung durchgeführt wird, wenn die Signatur (mit der Option "enveloped" eingebettet. D.h. die XML-Daten werden unverändert verwendet (d.h. ohne transformiert zu werden), wenn die Signatur "detached" also separat ist, wenn Keine ausgewählt ist und wenn das Kontrollkästchen Whitespaces entfernen deaktiviert ist.

 

Platzierung der Signatur

Die Signatur kann in die XML-Datei platziert oder als separate Datei erstellt werden. Es stehen die folgenden Optionen zur Verfügung:

 

Enveloped:
Das Signaturelement wird als das letzte Child-Element des Root (Dokument)-Elements erstellt. Achtung: Das mit der Datei verknüpfte XML-Schema muss die Elemente zur Definition der Signatur enthalten, damit die XML-Ausgabedatei gültig ist. Nähere Informationen dazu finden Sie ganz oben in diesem Abschnitt.

 

Detached:
Die XML-Signatur wird in Form einer separaten Datei erstellt. In diesem Fall können Sie die Dateierweiterung der Signatur definieren und festlegen ob: (i) die Erweiterung an den Namen der XML-Datei angehängt werden soll (z.B. test.xml.xsig) oder (ii) ob die Erweiterung die XML-Erweiterung der Datei ersetzen soll (z.B. test.xsig). Außerdem können Sie festlegen, ob die Referenz auf die XML-Datei in der Signaturdatei ein relativer oder absoluter Pfad sein soll.

 

Anmerkung:XML-Signaturen für XML-Schema- (.xsd) und XBRL-Dateien können nur als externe Signaturdateien erstellt werden. Signaturen für WSDL-Dateien können als externe Dateien erstellt und über die Option "Enveloped" in die WSDL-Datei inkludiert werden.

 

Anmerkung:Wenn die XML-Signatur als separate Datei erstellt wird, werden die XML-Datei und die Signaturdatei durch eine Referenz in der Signaturdatei miteinander verknüpft. Folglich muss, wenn sich die Signatur in einer externen Datei befindet, bei der Überprüfung der Signatur die Signaturdatei aktiv sein und nicht die XML-Datei.

 

Schlüsselinformationen anhängen

Die Option KeyInfo anhängen steht zur Verfügung, wenn die Signatur auf einem Zertifikat basiert. Wenn die Signatur auf einem Passwort basiert, steht sie nicht zur Verfügung.

 

Wenn die Option aktiv ist, werden die Daten des öffentlichen Schlüssels in die Signatur platziert. Im anderen Fall werden die Schlüsselinformationen nicht in die Signatur inkludiert. Der Vorteil bei der Inkludierung der Schlüsselinformationen ist, dass das Zertifikat selbst (insbesondere die Daten des öffentlichen Schlüssels) für die Überprüfung nicht benötigt werden (da die Schlüsselinformationen ja in der Signatur vorhanden sind).

 

Signatureinstellungen - ungültig

MapForce kann eine Ausgabe nicht mit einer digitalen Signatur versehen, wenn die Signatureinstellungen ungültig sind. Die Signatureinstellungen sind ungültig wenn:

 

kein Zugriff auf das ausgewählte Zertifikat besteht oder es sich nicht zum Signieren von XML-Dokumenten eignet oder
kein Passwort definiert wurde, z.B. die Option "Passwort in mfd-Datei speichern" nicht aktiviert wurde.

 

Wenn Sie auf die Ausgabe-Schaltfläche klicken, werden Sie von MapForce folgendermaßen nach dem Passwort gefragt:

 

Geben Sie bitte ein Passwort für die Signierung der Ausgabe der Komponente "MarketingExpensesSigned" an

 

und folgendermaßen nach dem Zertifikat:

 

Wählen Sie bitte den Speicher aus, der das Zertifikat zum Signieren der Ausgabe der Komponente "MarketingExpensesSigned" enthält.

 

 

Wenn kein Passwort oder Zertifikat ausgewählt wird, wird die Verarbeitung entweder gestoppt oder ohne Signatur fortgesetzt. Sie können dies im Dialogfeld "Komponenteneinstellungen" über die Optionsfelder "Verarbeitung stoppen" oder "Ohne Signatur fortfahren" festlegen.

 

Wenn das Mapping über die Befehlszeile ausgeführt wird, erscheint kein solches Dialogfeld. Die Mapping-Ausführung wird entweder mit einem Fehler abgebrochen oder ohne Signatur fortgesetzt..


© 2019 Altova GmbH