OS Manuals

/usr/bin/xmlsec1

C based implementation for XML Signature Syntax and Processing and XML Encryption Syntax and Processing

From xmlsec 1.3.13-r0 (os), captured 2026-11-05 by running xmlsec1 --help (exit 0). permalink

Unknown command
Usage: xmlsec <command> [<options>] [<files>]

xmlsec is a command line tool for signing, verifying, encrypting and
decrypting XML documents. The allowed <command> values are:
  --help      	display this help information and exit
  --help-all  	display help information for all commands/options and exit
  --help-<cmd>	display help information for command <cmd> and exit
  --version   	print version information and exit
  --keys      	keys XML file manipulation
  --sign      	sign data and output XML document
  --verify    	verify signed document
  --encrypt   	encrypt data and output XML document
  --decrypt   	decrypt data from XML document


Report bugs to http://www.aleksey.com/xmlsec/bugs.html

Written by Aleksey Sanin <aleksey@aleksey.com>.

Copyright (C) 2002-2026 Aleksey Sanin <aleksey@aleksey.com>. All Rights Reserved.
This is free software: see the source for copying information.
Options (84)
OptionDescriptionSource
--helpprint help information about the commandhelp + man
--help-alldisplay help information for all commands/options and exithelp
--help- cmddisplay help information for command <cmd> and exithelp
--versionprint version information and exithelp
--keyskeys XML file manipulationhelp
--signsign data and output XML documenthelp
--verifyverify signed documenthelp
--encryptencrypt data and output XML documenthelp
--decryptdecrypt data from XML documenthelp
--ignore-manifestsdo not process <dsig:Manifest> elements (in the manual page but not in --help)man
--store-referencesstore and print the result of <dsig:Reference/> element processing just before calculating digest (in the manual page but not in --help)man
--store-signaturesstore and print the result of <dsig:Signature> processing just before calculating signature (in the manual page but not in --help)man
--enabled-reference-uris listcomma separated list of the following values: "empty", "same-doc", "local", "remote" to restrict possible URI attribute values for the <dsig:Reference> element (in the manual page but not in --help)man
--enable-visa3d-hackenables Visa3D protocol specific hack for URI attributes processing when we are trying not to use XPath/XPointer engine; (in the manual page but not in --help)man
--enable-asn1-signatures-hackenables support for ASN1 signature values generated by some XMLDsig implementations. (in the manual page but not in --help)man
--relationship-legacyuse the legacy Relationship transform behaviour: keep foreign namespace declarations (written as a single unprefixed xmlns="...") and do not remove text/comment nodes. (in the manual page but not in --help)man
--hmac-min-out-len bitssets minimum HMAC output length to <bits> (in the manual page but not in --help)man
--binary-data filebinary <file> to encrypt (in the manual page but not in --help)man
--xml-data fileXML <file> to encrypt (in the manual page but not in --help)man
--enabled-cipher-reference-uris listcomma separated list of the following values: "empty", "same-doc", "local", "remote" to restrict possible URI attribute values for the <enc:CipherReference> element (in the manual page but not in --help)man
--session-key keyKlass>-<keySizegenerate new session <keyKlass> key of <keySize> bits size (for example, "--session des-192" generates a new 192 bits DES key for DES3 encryption) (in the manual page but not in --help)man
--output filenamewrite result document to file <filename>; (in the manual page but not in --help)man
--print-debugprint debug information to stdout (in the manual page but not in --help)man
--print-xml-debugprint debug information to stdout in xml format (in the manual page but not in --help)man
--dtd-file fileload the specified file as the DTD (in the manual page but not in --help)man
--node-id idset the operation start point to the node with given <id> (in the manual page but not in --help)man
--node-name namespace-uri>:]<nameset the operation start point to the first node with given <name> and <namespace> URI (in the manual page but not in --help)man
--node-xpath exprset the operation start point to the first node selected by the specified XPath expression (in the manual page but not in --help)man
--id-attr :<attr-nameadds attributes <attr-name> (default value "id") from all nodes with <node-name> and namespace <node-namespace-uri> to the list of known ID attributes; (in the manual page but not in --help)man
--add-id-attr id-attribute-nameadds attribute <id-attribute-name> to all nodes in the document; (in the manual page but not in --help)man
--max-encrypted-key-level levelsets the max depth level when processing encrypted keys, key agreements, etc. (in the manual page but not in --help)man
--enabled-key-data listcomma-separated list of key-data types to enable. (in the manual page but not in --help)man
--enabled-retrieval-method-uris listcomma separated list of the following values: "empty", "same-doc", "local", "remote" to restrict possible URI attribute values for the <dsig:RetrievalMethod> element. (in the manual page but not in --help)man
--enabled-key-info-reference-uris listcomma separated list of the following values: "empty", "same-doc", "local", "remote" to restrict possible URI attribute values for the <dsig11:KeyInfoReference> element. (in the manual page but not in --help)man
--gen-key :<namegenerate new <keyKlass> key of <keySize> bits size, set the key name to <name> and add the result to keys manager (for example, "--gen:MyKeyName rsa-1024" generates a new 1024 bits RSA key and sets… (in the manual page but not in --help)man
--keys-file fileload keys from XML file (in the manual page but not in --help)man
--privkey-pem :<nameload private key from PEM file and certificates that verify this key (in the manual page but not in --help)man
--privkey-der :<nameload private key from DER file and certificates that verify this key (in the manual page but not in --help)man
--pkcs8-pem :<nameload private key from PKCS8 PEM file and PEM certificates that verify this key (in the manual page but not in --help)man
--pkcs8-der :<nameload private key from PKCS8 DER file and DER certificates that verify this key (in the manual page but not in --help)man
--privkey-openssl-store :<nameload private key and certs through OpenSSL ossl_store interface (e.g. from HSM) (in the manual page but not in --help)man
--privkey-openssl-engine :<nameload private key by OpenSSL ENGINE interface; (in the manual page but not in --help)man
--pubkey-pem :<nameload public key from PEM file (in the manual page but not in --help)man
--pubkey-der :<nameload public key from DER file (in the manual page but not in --help)man
--pubkey-openssl-store :<nameload public key and certs through OpenSSL ossl_store interface (e.g. from HSM) (in the manual page but not in --help)man
--pubkey-openssl-engine :<nameload public key by OpenSSL ENGINE interface; (in the manual page but not in --help)man
--pwd passwordthe password to use for reading keys and certs (in the manual page but not in --help)man
--lax-key-searchenable lax key search (e.g. by key type like "rsa") vs default strict key search mode using only information from <dsig:KeyInfo/> node (e.g. key name) (in the manual page but not in --help)man
--verify-keysforce verification of public/private keys loaded from the command: keys are required to have a key certificate that will be verified against the certificates in the key store (in the manual page but not in --help)man
--aes-key :<nameload AES key from binary file <file> (in the manual page but not in --help)man
--camellia-key :<nameload Camellia key from binary file <file> (in the manual page but not in --help)man
--chacha20-key :<nameload ChaCha20 key from binary file <file> (in the manual page but not in --help)man
--concatkdf-key :<nameload ConcatKDF key from binary file <file> (in the manual page but not in --help)man
--des-key :<nameload DES key from binary file <file> (in the manual page but not in --help)man
--hmac-key :<nameload HMAC key from binary file <file> (in the manual page but not in --help)man
--pbkdf2-key :<nameload Pbkdf2 key from binary file <file> (in the manual page but not in --help)man
--hkdf-key :<nameload HKDF key (IKM) from binary file <file> (in the manual page but not in --help)man
--pkcs12 :<nameload private key from pkcs12 file <file> (in the manual page but not in --help)man
--pkcs12-persistpersist loaded private key (in the manual page but not in --help)man
--pubkey-cert-pem :<nameload public key from PEM cert file (in the manual page but not in --help)man
--pubkey-cert-der :<nameload public key from DER cert file (in the manual page but not in --help)man
--trusted-pem fileload trusted (root) certificate from PEM file <file> (in the manual page but not in --help)man
--untrusted-pem fileload untrusted certificate from PEM file <file> (in the manual page but not in --help)man
--trusted-der fileload trusted (root) certificate from DER file <file> (in the manual page but not in --help)man
--untrusted-der fileload untrusted certificate from DER file <file> (in the manual page but not in --help)man
--crl-pem fileload CRLs from PEM file <file> (in the manual page but not in --help)man
--crl-der fileload CRLs from DER file <file> (in the manual page but not in --help)man
--verify-crlsforce verification of loaded CRLs: CRLs are required to have a valid signature from an issuer certificate in the trusted or untrusted certificate store, and must be within their validity period… (in the manual page but not in --help)man
--verification-time timethe local time in "YYYY-MM-DD HH:MM:SS" format used for certificates verification (in the manual page but not in --help)man
--verification-gmt-time timethe GMT time in "YYYY-MM-DD HH:MM:SS" format used for certificates verification (in the manual page but not in --help)man
--X509-skip-time-checksskip time checking of X509 certificates and CRLs (in the manual page but not in --help)man
--depth numbermaximum certificates chain depth (in the manual page but not in --help)man
--X509-skip-strict-checksskip strict checking of X509 data (in the manual page but not in --help)man
--insecuredo not verify certificates or CRLs (in the manual page but not in --help)man
--crypto namethe name of the crypto engine to use from the following list: openssl, mscrypto, nss, gnutls, gcrypt (if no crypto engine is specified then the default one is used) (in the manual page but not in --help)man
--crypto-config pathcrypto engine configuration: (in the manual page but not in --help)man
--verboseprint detailed error messages (in the manual page but not in --help)man
--print-crypto-library-errorsprint errors from crypto library (OpenSSL only) (in the manual page but not in --help)man
--repeat numberrepeat the operation <number> times (in the manual page but not in --help)man
--base64-line-size sizesets the max line size for base64 encodings to <size>; (in the manual page but not in --help)man
--transform-binary-chunk-size sizesets the transforms binary processing chunk size to <size>; (in the manual page but not in --help)man
--transform-max-depth depthsets the max depth for transforms execution to <depth>; (in the manual page but not in --help)man
--xxeenable External Entity resolution. (in the manual page but not in --help)man
--url-map urlmaps a given <url> to the given <file> for loading external resources (in the manual page but not in --help)man

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.