Der Befehl xmlsignature-sign | xsign erhält ein XML-Dokument als Input und erstellt unter Verwendung der definierten Signaturoptionen ein XML-Signatur-Ausgabedokument.
EXENAME-LC%> xmlsignature-sign [options] --output=File --signature-type=Value --signature-canonicalization-method=Value --certname=Value|hmackey=Value InputFile |
•Das Argument InputFile steht für das zu signierende XML-Dokument.
•Mit der Option --output wird der Pfad des Dokuments, das die XML-Signatur enthält, definiert.
Beispiele
Beispiele für den Befehl xmlsignature-sign:
•raptorxml xsign --output=c:\SignedFile.xml --signature-type=enveloped --signature-canonicalization-method=xml-c14n11 --hmackey=secretpassword c:\SomeUnsigned.xml
RaptorXML (und RaptorXMLServer für Administrator-Befehle) unter Windows raptorxml und raptorxmlserver für Administrator-Befehle) unter Windows und Unix (Linux, Mac) * Beachten Sie, dass klein geschriebene Befehle (raptorxml und raptorxmlserver) auf allen Plattformen (Windows, Linux und Mac) funktionieren, während großgeschriebene Befehle (RaptorXML) nur unter Windows und Mac ausgeführt werden. *Verwenden Sie auf Linux und Mac-Systemen Schrägstriche und auf Windows-Systemen umgekehrte Schrägstriche. |
Auf Windows-Systemen: Verwenden Sie bei Vorhandensein von Leerzeichen oder Sonerzeichen in Strings (z.B. in Datei- oder Ordnernamen oder Firmen-, Personen- oder Produktnamen) Anführungszeichen: z.B., "Meine Datei". Beachten Sie jedoch, dass ein von einem doppelten Anführungszeichen gefolgter umgekehrter Schrägstrich (z.B: "C:\Mein Verzeichnis\") eventuell nicht korrekt gelesen wird, da der umgekehrte Schrägstrich auch den Beginn einer Escape-Sequenz markiert und die Escape-Sequenz \" für ein doppeltes Anführungszeichen steht. Wenn Sie diese Zeichensequenz mit einem Escape versehen wollen, verwenden Sie einen vorangestellten umgekehrten Schrägstrich, wie den folgenden: \\". Einfacher ausgedrückt: Wenn Sie einen Dateipfad, der Leerzeichen oder einen umgekehrten Schrägstrich am Ende enthält, schreiben müssen, so schreiben Sie diesen folgendermaßen: "C:\Mein Verzeichnis\\". |
Optionen
Optionen werden in ihrer kurzen Form (falls verfügbar) und in ihrer langen Form aufgelistet. Für die kurze und die lange Form können ein oder zwei Bindestriche verwendet werden. Eine Option kann, muss aber keinen Wert erhalten. Eine Option, die einen Wert erhält, wird folgendermaßen geschrieben: --option=wert. Werte können außer in zwei Fällen ohne Anführungszeichen definiert werden: (i) wenn der Wertestring Leerzeichen enthält oder (ii) wenn in der Beschreibung der Option explizit erwähnt ist, dass Anführungszeichen zwingend erforderlich sind. Wenn eine Option einen Booleschen Wert erhält und kein Wert definiert ist, so ist der Standardwert der Option TRUE. Mit Hilfe der Option --h, --help können Sie Informationen über den Befehl anzeigen.
output = FILE Die URL des Ausgabedokuments, das mit der neuen XML-Signatur erstellt wird. |
--verbose = true|false Mit dem Wert true wird die Ausgabe zusätzlicher Informationen bei der Validierung aktiviert. Der Standardwert ist false. Hinweis: Die Booleschen Optionswerte werden auf true gesetzt, wenn die Option ohne einen Wert definiert wird. |
|
--absolute-reference-uri = true|false Definiert, ob die URI des signierten Dokuments als absolute (true) oder relative (false) URI gelesen werden soll. Der Standardwert ist false. Hinweis: Die Booleschen Optionswerte werden auf true gesetzt, wenn die Option ohne einen Wert definiert wird. |
--certname, --certificate-name = VALUE Der Name des zum Signieren verwendeten Zertifikats. Windows Dies ist der Subject-Name eines Zertifikats aus dem ausgewählten --certificate-store (Zertifikatspeicher). Beispiel zum Aufliste der Zertifikate (unter PowerShell) % ls cert://CurrentUser/My PSParentPath: Microsoft.PowerShell.Security\Certificate::CurrentUser\My Thumbprint Subject ---------- ------- C9DF64BB0AAF5FA73474D78B7CCFFC37C95BFC6C CN=certificate1 ... CN=... Beispiel: --certificate-name==certificate1 Linux/MacOS --certname definiert den Dateinamen eines PEM-kodierten X.509v3-Zertifikats mit dem Private Key. Solche Dateien haben die Erweiterung .pem. Beispiel: --certificate-name==/path/to/certificate1.pem |
--certstore, --certificate-store = VALUE Der Pfad, unter dem das mit --certificate-name definierte Zertifikat gespeichert ist. Windows Der Name eines Zertifikatspeichers unter cert://CurrentUser. Die verfügbaren Zertifikatspeicher können mit Hilfe von % ls cert://CurrentUser/ (unter PowerShell) aufgelistet werden. Die Zertifikate würden anschließend folgendermaßen aufgelistet: Name : TrustedPublisher Name : ClientAuthIssuer Name : Root Name : UserDS Name : CA Name : ACRS Name : REQUEST Name : AuthRoot Name : MSIEHistoryJournal Name : TrustedPeople Name : MyCertStore Name : Local NonRemovable Certificates Name : SmartCardRoot Name : Trust Name : Disallowed Beispiel: --certificate-store==MyCertStore Linux/MacOS Die Option --certstore wird derzeit nicht unterstützt. |
--digest, --digest-method = sha1|sha256|sha384|sha512|base64 Der zur Berechnung des Digest-Werts an der XML-Input-Datei angewendete Algorithmus. Verfügbare Werte sind: sha1|sha256|sha384|sha512. |
--hmackey, --hmac-secret-key = VALUE Der Shared Secret HMAC-Schlüssel; muss mindestens sechs Zeichen lang sein. Beispiel: --hmackey=secretpassword |
--hmaclen, --hmac-output-length = LENGTH Kürzt die Ausgabe des HMAC-Algorithmus auf length Bits. Falls definiert, muss dieser Wert •ein Vielfaches von 8 sein •größer als 80 sein •mehr als die Hälfte der Ausgabelänge des zugrunde liegenden Hash-Algorithmus betragen |
--keyinfo, --append-keyinfo = true|false Definiert, ob das KeyInfo-Element in der Signatur inkludiert werden soll oder nicht. Der Standardwert ist false. |
--sigc14nmeth, --signature-canonicalization-method = VALUE Definiert, welcher Kanonisierungsalgorithmus auf das Element SignedInfo angewendet werden soll. Der Wert muss einer der folgenden sein: •REC-xml-c14n-20010315 •xml-c14n11 •xml-exc-c14n# |
--sigmeth, --signature-method = VALUE Definiert, welcher Algorithmus zum Generieren der Signatur verwendet werden soll. Wenn ein Zertifikat verwendet wirdWenn ein Zertifikat definiert ist, dann ist SignatureMethod optional und der Wert dieses Parameters wird vom Zertifikat abgeleitet. Wenn die Option definiert ist, muss sie mit dem vom Zertifikat verwendeten Algorithmus übereinstimmen. Beispiel: rsa-sha256. Wenn --hmac-secret-key verwendet wirdWenn HMACSecretKey verwendet wird, ist diese SignatureMethod obligatorisch. Der Wert muss einer der unterstützten HMAC-Algorithmen sein: •hmac-sha256 •hmac-sha386 •hmac-sha512 •hmac-sha1 (soll laut Spezifikation nicht verwendet werden) Beispiel: hmac-sha256 |
--sigtype, --signature-type = detached | enveloping | enveloped Definiert den Typ der zu generierenden Signatur. |
--transforms = VALUE Definiert, welche XML-Signaturtransformation auf das Dokument angewendet werden soll. Die unterstützten Werte sind die folgenden: •REC-xml-c14n-20010315 für Canonical XML 1.0 (Kommentare weglassen) •xml-c14n11 für Canonical XML 1.1 (Kommentare weglassen) •xml-exc-c14n# für Exclusive XML Canonicalization 1.0 (Kommentare weglassen) •REC-xml-c14n-20010315#WithComments für Canonical XML 1.0 (mit Kommentaren) •xml-c14n11#WithComments for Canonical XML 1.1 (mit Kommentaren) •xml-exc-c14n#WithComments for Exclusive XML Canonicalization 1.0 (mit Kommentaren) •base64 •strip-whitespaces Altova-Erweiterung Beispiel: --transforms=xml-c14n11 Anmerkung: Diese Option kann mehrmals definiert werden. Falls sie mehrmals definiert ist, spielt die Reihenfolge, in der sie definiert ist, eine Rolle. Die erste definierte Transformation gilt für das Input-Dokument. Die letzte definierte Transformation wird unmittelbar vor der Berechnung des Digest-Werts verwendet. |
--write-default-attributes = true|false Definiert, ob Standardattributwerte aus der DTD im signierten Dokument inkludiert werden sollen. |
|
--help Zeigt den Hilfetext zum Befehl an. Beispiel: valany --h. (Alternativ dazu kann der Befehl help zusammen mit einem Argument verwendet werden. Beispiel: help valany.) |
--version Zeigt die Version von RaptorXML Server an. Setzen Sie --version bei Verwendung mit einem Befehl vor den Befehl. |
|