.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "xsec-cipher.pod 1" .TH xsec-cipher.pod 1 2024-02-10 2.0.4 "Apache XML Security" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME xmlsec\-cipher \- Perform basic encryption and decryption of XML documents .SH SYNOPSIS .IX Header "SYNOPSIS" \&\fBxmlsec-cipher\fR [\fB\-i\fR] ([\fB\-d\fR] | \fB\-de\fR | \fB\-ef\fR | \fB\-ex\fR) [\fB\-x\fR] [\fB\-o\fR \fIoutput\fR] \fB\-k\fR [kek] (\fIfilename\fR [\fIpassword\fR] | \fIkey-string\fR) \fIinput\fR .SH DESCRIPTION .IX Header "DESCRIPTION" \&\fBxmlsec-cipher\fR encrypts or decrypts an XML document following the XML Digital Signature and Encryption specifications using the Apache XML Security for C++ library. The default action is to decrypt the input file. Other operations can be selected with the \fB\-de\fR, \fB\-ef\fR, or \fB\-ex\fR options. The result of the operation, whether encryption or decryption, will be printed to standard output. .SH OPTIONS .IX Header "OPTIONS" Note that each option must be given as a separate argument. .IP "\fB\-\-decrypt\fR, \fB\-d\fR" 4 .IX Item "--decrypt, -d" Reads in the input file as an XML file, searches for an EncryptedData node, and decrypts the output, printing it to standard output. This is the default operation and does not need to be specified. .IP "\fB\-\-decrypt\-element\fR, \fB\-de\fR" 4 .IX Item "--decrypt-element, -de" Reads in the input file as an XML file and prints it out with the fist encrypted element decrypted. .IP "\fB\-\-encrypt\-file\fR, \fB\-ef\fR" 4 .IX Item "--encrypt-file, -ef" Reads the input file as raw data and creates an XML EncryptedData document as output, containing the encrypted version of that input data. .IP "\fB\-\-encrypt\-xml\fR, \fB\-ex\fR" 4 .IX Item "--encrypt-xml, -ex" Parse the input file as XML, find the document element, and encrypt the document, outputting the result as an XML EncryptedData document. .IP "(\fB\-\-key\fR | \fB\-k\fR) [kek] \fItype\fR \fIfilename\fR [\fIpassword\fR]" 4 .IX Item "(--key | -k) [kek] type filename [password]" .PD 0 .IP "(\fB\-\-key\fR | \fB\-k\fR) [kek] \fItype\fR \fIkey-string\fR" 4 .IX Item "(--key | -k) [kek] type key-string" .PD Specifies the key to use for encryption or decryption. .Sp If the first argument following the \fB\-\-key\fR or \fB\-k\fR option is the string \&\f(CW\*(C`kek\*(C'\fR, the following key argument will be used as a Key EncryptionKey. .Sp \&\fItype\fR specifies the key type and must be one of X509, RSA, AES128, AES192, AES256, AES128\-GCM, AES192\-GCM, AES256\-GCM, or 3DES. .Sp The remaining arguments depend on the key type. For X509, only a \&\fIfilename\fR may be given and must contain an RSA KEK certificate. For RSA, a \fIfilename\fR and \fIpassword\fR may specify an RSA private key file and its password (this must be a KEK). For the other key types, the last argument is the string to use as the key. .IP "\fB\-\-xkms\fR, \fB\-x\fR" 4 .IX Item "--xkms, -x" The key specified after this argument on the command line is interpreted as an XKMS RSAKeyPair encryption key. .IP "\fB\-\-interop\fR, \fB\-i\fR" 4 .IX Item "--interop, -i" Use hte interop resolver for Baltimore interop examples. .IP "\fB\-\-out\-file\fR \fIfile\fR, \fB\-o\fR \fIfile\fR" 4 .IX Item "--out-file file, -o file" Rather than printing the result to standard output, write it to the specified file. .SH "RETURN STATUS" .IX Header "RETURN STATUS" \&\fBxmlsec-cipher\fR exits with status 0 if the encryption or decryption operation was successful and with status 1 if it failed. If it cannot process the input file for some reason, it exits with status 2. .SH AUTHOR .IX Header "AUTHOR" This manual page was written by Russ Allbery for Debian. .SH "MANUAL LICENSE" .IX Header "MANUAL LICENSE" The authors hereby relinquish any claim to any copyright that they may have in this work, whether granted under contract or by operation of law or international treaty, and hereby commit to the public, at large, that they shall not, at any time in the future, seek to enforce any copyright in this work against any person or entity, or prevent any person or entity from copying, publishing, distributing or creating derivative works of this work.