www.altova.com Expand/Collapse All Print this Topic Previous Page Up One Level Next page

Home >  Command Line Interface (CLI) > XML Signature Commands >


The xmlsignature-sign | xsign command takes an XML document as input and creates an XML signature output document using the specified signing options.



RaptorXML xmlsignature-sign [options] --output=File --signature-type=Value
--signature-canonicalization-method=Value InputFile


raptorxml xmlsignature-sign [options] --output=File --signature-type=Value
--signature-canonicalization-method=Value InputFile


raptorxml xmlsignature-sign [options] --output=File --signature-type=Value
--signature-canonicalization-method=Value InputFile



The InputFile argument is the XML document to sign. The --output option specifies the location of the the document that contains the XML signature.




raptorxml xsign --output=c:\SignedFile.xml --signature-type=enveloped --signature-canonicalization-method=xml-c14n11 c:\SomeUnsigned.xml


Click to expand/collapseCasing and slashes on the command line

RaptorXML on Windows

raptorxml on Unix (Linux, Mac)


* Note that lowercase (raptorxml) works on all platforms (Windows, Linux, and Mac), while upper-lower (RaptorXML) works only on Windows and Mac.

* Use forward slashes on Linux and Mac, backslashes on Windows.



The command's options are listed below, organized into groups. Values can be specified without quotes except in two cases: (i) when the value string contains spaces, or (ii) when explicitly stated in the description of the option that quotes are required.


Click to expand/collapseCommon options

output = FILE

The URL of the output document that is created with the new XML signature.


--verbose = true|false

A value of true enables output of additional information during validation. Default value is false.

Note:   Boolean option values are set to true if the option is specified without a value.



Click to expand/collapseXML Signature options

--absolute-reference-uri = true|false

Specifies whether the URI of the signed document is to be read as absolute (true) or relative (false). Default is false.

Note:   Boolean option values are set to true if the option is specified without a value.


--certname, --certificate-name = VALUE

The name of the certificate used for signing.



This is the Subject name of a certificate from the selected --certificate-store.


Example to list the certificates (under PowerShell)

% ls cert://CurrentUser/My

PSParentPath: Microsoft.PowerShell.Security\Certificate::CurrentUser\My

Thumbprint Subject

---------- -------

C9DF64BB0AAF5FA73474D78B7CCFFC37C95BFC6C CN=certificate1

... CN=...


Example: --certificate-name==certificate1




--certname specifies the file name of a PEM encoded X.509v3 certificate with the private key. Such files usually have the extension .pem.


Example: --certificate-name==/path/to/certificate1.pem


--certstore, --certificate-store = VALUE

The location where the the certificate specified with --certificate-name is stored.



The name of a certificate store under cert://CurrentUser. The available certificate stores can be listed (under PowerShell) by using % ls cert://CurrentUser/. Certificates would then be listed as follows:


Name : TrustedPublisher

Name : ClientAuthIssuer

Name : Root

Name : UserDS

Name : CA

Name : ACRS


Name : AuthRoot

Name : MSIEHistoryJournal

Name : TrustedPeople

Name : MyCertStore

Name : Local NonRemovable Certificates

Name : SmartCardRoot

Name : Trust

Name : Disallowed


Example: --certificate-store==MyCertStore




The --certstore option is currently not supported.

--digest, --digest-method = sha1|sha256|sha384|sha512|base64

The algorithm that is used to compute the digest value over the input XML file. Available values are: sha1|sha256|sha384|sha512|base64.


--hmackey, --hmac-secret-key = VALUE

The HMAC shared secret key; must have a minimum length of six characters.


Example: --hmackey=secretpassword


--hmaclen, --hmac-output-length = LENGTH

Truncates the output of the HMAC algorithm to length bits. If specified, this value must be

a multiple of 8
larger than 80
larger than half of the underlying hash algorithm's output length


--keyinfo, --append-keyinfo = true|false

Specifies whether to include the KeyInfo element in the signature or not. The default is false.


--sigc14nmeth, --signature-canonicalization-method = VALUE

Specifies the canonicalization algorithm to apply to the SignedInfo element. The value must be one of:




--sigmeth, --signature-method = VALUE

Specifies the algorithm to use for generating the signature.


When a certificate is used

If a certificate is specified, then SignatureMethod is optional and the value for this parameter is derived from the certificate. If specified, it must match the algorithm used by the certificate. Example: rsa-sha256.


When --hmac-secret-key is used

When HMACSecretKey is used, then SignatureMethod is mandatory. The value must be one of the supported HMAC algorithms:

hmac-sha1 (discouraged by the specification)


Example: hmac-sha256



--sigtype, --signature-type = detached | enveloping | enveloped

Specifies the type of signature to be generated.


--transforms = VALUE

Specifies the XML Signature transformations applied to the input document. The supported values are:


REC-xml-c14n-20010315 for Canonical XML 1.0 (omit comments)
xml-c14n11 for Canonical XML 1.1 (omit comments)
xml-exc-c14n# for Exclusive XML Canonicalization 1.0 (omit comments)
REC-xml-c14n-20010315#WithComments for Canonical XML 1.0 (with comments)
xml-c14n11#WithComments for Canonical XML 1.1 (with comments)
xml-exc-c14n#WithComments for Exclusive XML Canonicalization 1.0 (with comments)
strip-whitespaces Altova extension


Example: --transforms=xml-c14n11


Note: This option can be specified multiple times. If specified multiple times, then the order of specification is significant. The first specified transformation receives the input document. The last specified transformation is used immediately before calculation of the digest value.



--write-default-attributes = true|false

Specifies whether to include default attribute values from the DTD in the signed document.


Click to expand/collapseHelp and version options


Displays help text for the command. For example, valany --h. (Alternatively the help command can be used with an argument. For example: help valany.)



Displays the version of RaptorXML Server. If used with a command, place --version before the command.





© 2019 Altova GmbH