Saturday, May 16, 2015

Encryption/Decryption of XML file

You might have encrypt and decrypt a sting value using various cryptographic algorithms and you might have build C programs for that as well. In this tutorial I am going to show you how to Encrypt and Decrypt a XML file using OpenSSL and XMLSec.

Things you need:

XML file - The file you need to encrypt/decrypt
OpenSSL - To generate public/private keys
XMLSec - To encrypt/decrypt XML file
Template file - Needed for encryption

Step 1:

Locate your XML file.

I have used books.xml file:
<?xml version="1.0"?>
<catalog>
   <book id="bk101">
      <author>Gambardella, Matthew</author>
      <title>XML Developer's Guide</title>
      <genre>Computer</genre>
      <price>44.95</price>
      <publish_date>2000-10-01</publish_date>
      <description>An in-depth look at creating applications
      with XML.</description>
   </book>
   <book id="bk102">
      <author>Ralls, Kim</author>
      <title>Midnight Rain</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2000-12-16</publish_date>
      <description>A former architect battles corporate zombies,
      an evil sorceress, and her own childhood to become queen
      of the world.</description>
   </book>
   <book id="bk103">
      <author>Corets, Eva</author>
      <title>Maeve Ascendant</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2000-11-17</publish_date>
      <description>After the collapse of a nanotechnology
      society in England, the young survivors lay the
      foundation for a new society.</description>
   </book>
   <book id="bk104">
      <author>Corets, Eva</author>
      <title>Oberon's Legacy</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2001-03-10</publish_date>
      <description>In post-apocalypse England, the mysterious
      agent known only as Oberon helps to create a new life
      for the inhabitants of London. Sequel to Maeve
      Ascendant.</description>
   </book>
   <book id="bk105">
      <author>Corets, Eva</author>
      <title>The Sundered Grail</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2001-09-10</publish_date>
      <description>The two daughters of Maeve, half-sisters,
      battle one another for control of England. Sequel to
      Oberon's Legacy.</description>
   </book>
   <book id="bk106">
      <author>Randall, Cynthia</author>
      <title>Lover Birds</title>
      <genre>Romance</genre>
      <price>4.95</price>
      <publish_date>2000-09-02</publish_date>
      <description>When Carla meets Paul at an ornithology
      conference, tempers fly as feathers get ruffled.</description>
   </book>
   <book id="bk107">
      <author>Thurman, Paula</author>
      <title>Splish Splash</title>
      <genre>Romance</genre>
      <price>4.95</price>
      <publish_date>2000-11-02</publish_date>
      <description>A deep sea diver finds true love twenty
      thousand leagues beneath the sea.</description>
   </book>
   <book id="bk108">
      <author>Knorr, Stefan</author>
      <title>Creepy Crawlies</title>
      <genre>Horror</genre>
      <price>4.95</price>
      <publish_date>2000-12-06</publish_date>
      <description>An anthology of horror stories about roaches,
      centipedes, scorpions  and other insects.</description>
   </book>
   <book id="bk109">
      <author>Kress, Peter</author>
      <title>Paradox Lost</title>
      <genre>Science Fiction</genre>
      <price>6.95</price>
      <publish_date>2000-11-02</publish_date>
      <description>After an inadvertant trip through a Heisenberg
      Uncertainty Device, James Salway discovers the problems
      of being quantum.</description>
   </book>
   <book id="bk110">
      <author>O'Brien, Tim</author>
      <title>Microsoft .NET: The Programming Bible</title>
      <genre>Computer</genre>
      <price>36.95</price>
      <publish_date>2000-12-09</publish_date>
      <description>Microsoft's .NET initiative is explored in
      detail in this deep programmer's reference.</description>
   </book>
   <book id="bk111">
      <author>O'Brien, Tim</author>
      <title>MSXML3: A Comprehensive Guide</title>
      <genre>Computer</genre>
      <price>36.95</price>
      <publish_date>2000-12-01</publish_date>
      <description>The Microsoft MSXML3 parser is covered in
      detail, with attention to XML DOM interfaces, XSLT processing,
      SAX and more.</description>
   </book>
   <book id="bk112">
      <author>Galos, Mike</author>
      <title>Visual Studio 7: A Comprehensive Guide</title>
      <genre>Computer</genre>
      <price>49.95</price>
      <publish_date>2001-04-16</publish_date>
      <description>Microsoft Visual Studio 7 is explored in depth,
      looking at how Visual Basic, Visual C++, C#, and ASP+ are
      integrated into a comprehensive development
      environment.</description>
   </book>
</catalog>
Step 2:

Generate Public and Private Key pairs.

genrsa -out books.pem 1024
openssl rsa -in books.pem -des3 -out books-pri.pem
openssl rsa -in books.pem -pubout -out books-pub.pem


books.pem:
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCibiuAD7qoOdUMB08j8r5AEtkQs1RAlOSmF9TDe5eGuYqWIcvC
8NBJsYWKUDTKj87Nx5VBhyvZZM0dCKfhYBQGFhutq9ojzyHri3Ctsh4ZO7PR4MZk
JqkJDUfkAJt3/5Us0gOx0gFhurFv4Piaj1aCp0Y+Eh69qBvdK3opz/lCWwIDAQAB
AoGAaB9NXVM36TzhWEubLMUftf0fDniWaqvHgr1GE2W3tZJcx260qqsqKgNVQlu1
65+SBxGImS/oKPxYC+OPkoa/bj2b79D+N+vIXwTSesa5z5eqUBC0bA+Wi0npjQvT
/8sXsdIUTSICkeLJgfaX9DcfizZuIt+WSIqSyEQaZiHTyBkCQQDWZcOATLSPrzM6
UAUHaXWEB6qxxyQZlNpU8i3nn+Rx/H3AD1lT5+5kc62hmB/YrbwxsGkAoktGBWCl
bEPDJCvHAkEAwfLtgobdu05DT8vOrX4w3iFJZKebVXMH4es2hl6R5SQLxirHZRx3
r4EuK+PRGLUbUc0hWBeaMyvBE+wjb6QszQJBAI4M8tFpASFKNajnJ83XY9NMuR39
EcAZTeeGZj/XQqb7Yd4EzWy4eMz5kAtHHaKUyeIqPgf7f+Au4+/2oZcDujUCQE70
DLoBGwyf/IjkZ9t6rnwOwujlzjdH36KZdRXYM747IUvnqEpB/3sDtH8Le9h6CYgQ
YI2S9iP0oOHyVC6jf9UCQGJi6FNQr0JdJ3U17LuTuWI4plO3FEJJcKnW3GQwGKQD
7ITXJepDiMCWU9VVrtic9W5B69bAN0t6lvQaev5YsWM=
-----END RSA PRIVATE KEY-----

books-pri.pem:
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,B948920579B83772

w4UP7BAoGUAg7hIy5ARKRe67VeD59z8UxsupBrRczdItuzE0wOt/cXxt+LBvleLs
ZaL8Kb8Xtq5Ei8JtTW3S2BbrtlDtirYSWkszDz5kqiLrfev3ubP6FmUX7ros+3Ti
TIdz8PJbg+ojf8ZJQERMRUysLDwM0NiHhZ3NSvQINVq5zEp0RtqTWWDKVl37dweo
eNwgBsDHJ/6gPcnnN+YowfAPJ1A/C0yg4KcMWe6UPfiDvHoXkb2fuPQpatBsnk3X
6+QnCTZxyNL9U3ZmPV/PaEMGK2GGIHu0NsEiPvz/pp1DuKKnZT5MMM5bS3sVPyMT
7cOMXhuFM61HLGzRqJ7tZv6vZuAgfmLLQdPGDLKmu6fkOixXt9G1YZ9SRx8LoPLv
lE0neUxXroGVfZ8fHZZjzOQ2VIh5Ozx+xV4E3tFtVsQE+awYJyn02KPS2iAgLZH0
dijIfXvJ73ZfBPtFODcFngfWrbMU8M2/eG26i9mDBgbo4JKseCB1U8Z/T5CRAY9X
1Jb55wHngS2PWGrbmOmFoPVB4wrn6098cnDrIi5G4SEufWzuMAgaTrg1Ztar8fBI
J0H/fYFp+rYfmJCAoy6gmSFWgV/lgWdtOxWc30RNBYWGnRJkphAlgAviDKs/TAS+
TRv1z8n5ZfkXRKCaf43JPCgLT4Q0JXyWiHQdL5eudFSKKr4hyvJ8wVjNqJS5kd7E
cJ2VV3vPh2CLw89YZFUDfMTIoGpqCO7dgkK6MZZY6LXC6sdIND1CAoJnLuk3Ou0t
I/Awxa9GXgRNtZ6kDBx7ndPA9ZRYjkdR/fQRgwxQ5HLDvvZRv/QOug==
-----END RSA PRIVATE KEY-----

books-pub.pem:
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCibiuAD7qoOdUMB08j8r5AEtkQ
s1RAlOSmF9TDe5eGuYqWIcvC8NBJsYWKUDTKj87Nx5VBhyvZZM0dCKfhYBQGFhut
q9ojzyHri3Ctsh4ZO7PR4MZkJqkJDUfkAJt3/5Us0gOx0gFhurFv4Piaj1aCp0Y+
Eh69qBvdK3opz/lCWwIDAQAB
-----END PUBLIC KEY-----
Step 3:

Encrypt XML file using public key.

xmlsec encrypt --pubkey-pem books-pub.pem --session-key des-192 --xml-data books.xml --output books-enc.xml template.xml


books-enc.pem:
<?xml version="1.0"?>
<EncryptedData xmlns="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element">
 <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/>
 <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
  <EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">
   <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
   <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
    <KeyName/>
   </KeyInfo>
   <CipherData>
    <CipherValue>B7+hl3/NDhsj0CmBgAvCxmXDHSlJqATYmcq3frf6hZYAaTgTwQmP4HfK0/0OlUKQ
x9PZXAXUNOBXU1cZ9MilnHpbZ8gTysivZavIOz3JOnL/YMfKkjl/Loghqz+lcYI6
kkCu5p61k5m9aQLlCAD1mOAf9NbZ5/X0spcP8RjYS3Y=</CipherValue>
   </CipherData>
  </EncryptedKey>
 </KeyInfo>
 <CipherData>
  <CipherValue>QZVDCc3zuNBu0egSRMIOKvkQy5U7sI1PWTlEJwp+/8mt5TIpRgIrtPF2/x+sSr/y
DJB4FaG+WjKCEX3LhvabPOgDBpzS9FQmiIFw5UsxNPw+vK5j+jgPvmt6QD+wyrNP
J3iAaX7WNcAXsC2pVwXBLLljgQ+qO+dcFwb63GwjpoaUGUK3ktXkWIBhUpxewJJ1
4pwnMVb1FZMz04bjrq3eAtEX4nafAFkTim0gJeY4/5B0cfe+LEMkezD4XT8hl91t
8SguUGs5eJDHOOx3aQx/AL806ae+t2TVqRlQUNhJavOOUHFg9l4a03DFmv0ic/wR
rDlpzZlA/Qsx5Iypqm6Ugm4BPofyGZ3rGVuvRhePNIjYpk5rg3bA7h1w5d5DXU5e
qJjtIB2Bs1Uw8VXg00/B2vRG3GGOutYTSgbDeKL2ICc3G++i1Bi5l8TuEV9MfXY7
YAxOlg76xc0ScqEV7Wun3OE7flzv3rnTCeJt7SitA7XlDYE0vKCxrzTIiz6qTcWF
d56N+vSOt6yxwpu84HpskFS/c4xAWNgMrKICbsKD2cFjY+UFUjQ8CP6Cp357z0UG
WZHXbU/Od6xiTe7fXlo1WUd8M1clCBpXQL6najathhk38SbkfH7i8614jbIGf3p9
qOsT0sGXCdzDer4VNO+2HfL8xBTiOxHgEFiOEgM5vsLDoHePvXn0s6Zors5vD3KA
9AFLpRdbxrEI+4oVGw+oVSMDmYBU4fSGuTqKeIhtYzS++PtA7j3dRLZW+IpopYJW
bAofGbwqMJiIlgNnc4vvZ56EcMg9UVsQUkOllkzjIBPQzvc6YVBRWsmp7uvD8jGk
F7cdT7yM7V5nEtRf8zGjLLi+ca77yTfw7p9xfOhSe3xh6uLQsAAn15aC8ORFe9Cj
M+xM/vEjxMAeGYs9WVpP/+zscB8fQRFrFqRckwTfBInmSFTo6q4r0L+goJAPjL1E
kEpc2EtkkS/t8mxmjH2tZigcRbLI/eYTu036tb2CIB1LftLm8URFFm92bZLR0GrG
a32MpVCGlC2w2/yqHJQAhiNnQ4HLPBx25pXDtK5oh9C8MxjbrICp3NzVU3OEYHnq
cisn0frbgrdJMlaD0aPvWHngto85rhWJeq+kdypsniirDSwCKxrA1rnSRI8wqrga
Qi9IlY2K4Bi+l/4VHyNYEnOqPxsBqAB/YUXEUyCaTZvxbdclrfsy/UdcA5huk7IA
bYJ7K2nOxY7VdFdg/RnskOMraX6G2VDxTzG/JQBXSy9fI+mVpz/z9LLfbGeaBl94
oe0iJHU5dNr12UA8owPPx8RhVQegNTUHvGhgoW+G/drwPoPusp9kiR660pcgXHc7
jzj4ruGIkt+89lHCbz12mMV6WV1a8oBt1h40u4JFApVZLVff/WfNLDxXj2+u6aau
dRgqHotfRJkIIo5BoZrSQC1Cmj/1sZCAFWKZXrv8RTLm3RjjH52gl2aOoIAvzWgq
fOh+vMEympOkSMgVxVfyXNo0jQZeLB7YrbbtTg7HEkoVfvjSC0iIWxOs9soWkOCq
aMzUXuXMK/7iibye+M9jogbiY8Pc4krXmcc2EWx+LiX+uOtPhteGvBO5s6n7roag
ja9VDOoCKSZEoOSTlQ5xC6Q25Zju/hm1wO1oIul5odQ+ERUWdUXIZRwkXd+pepEk
PKAAwBWO7v6MrCFAQD0Bd+dUIcSNILhEm/HiQD/IJc3XkuqTfs1v320DKfw/EUDG
OUNFKNg0EnKCCfXkAqewftQP2k2UZuE+O2mW3Q9mfGiZwglu4gh9JaWWbPO9YOwZ
lOiGC5jx+EI3lcUmnDoA2Tg8PQAppLbDRnAMWY4cnvofeVYyx5gKOdOXSmarWkvr
BEgqMjSBKGaKGfn5NnaztYmceKf9Yy3bSx0Dq6DDmoCGoKh+dHamJbVZFFgeykOM
Gv5MA6vAZPKXpvKziRlnFiNNn8iuqZ6YSs06gX2kRLWOebktEtWbOi5hegxWIv7n
Bs3St/beK0R6xshAwXHR18Arkyl/aJQD74MQA/oLlZXnAY1Ew8uCK13jwuhjzcsi
8yuz7YKAndkHFUW+u3xHPnW425upYItYmOTtpav4jFHuu8qd1kyGPWhH7x5aA/eQ
aWNj8HRfWIabyjIZoGyP3e7jKWPL9OehS8XdstdYGmR4hBhw7FDVZhee+YzNKsgR
xP6q2/6VI2e9NGuLQn9ermHuXr2vCNfYo3e9KfwC4Ofo0TCr+1ureLX/plIB0Uup
8Ju33UaqFXflhx5FapZlqVE0GLrbSh5ONQrOvfI3HVtMyUiAoGXBnQD+Nse0bhge
njWISubn8VbNCut7ExjmO11Jc0vtOKKmb0YDuOwsDZiwcOyv+VKgwfFlOzgvuBjQ
ABQ0eW/zBbUPlvs7s5fSEMXQjXxT0jCH5pkqEN0Yrv4ma96PvZvDOCYxA3NdyqEL
ZeyW1KaqdNC/OmLhiJBeYb3BTrQOnroNpGkd2SxgWiu2Nkcb7vA2wSsR1Re8228l
Iz2BXeZApbM/y3J2litsMWNk4VZmfp+9KdFNtAITiqqYDcmOLcqJuXIIdaUns+xQ
EZv/hoTHyNGPl12JSuTBEabXm6X0XjGThregTXkp91JThBOyJ/pmWTbAc/oxvb+T
sTXsg1WoJl/UjECTGVwVja7zvrAiIusHjZQcn3GqUkwYiRcFRtfVHvSQE66ihM0X
xOsMJqILjEC1qqzpzyoPVWvvCNhJrU9kRY+vhyPkAGFC6k60uRQfGt3wFC61DwIw
kKYsJpzGKGLEm2dVi1L+bnILGcp6Y39EP2M0fkcuT0BTJZzYakdokGk6iBCABN7k
8m3E0xb0L5EcuyqXc4HwknmNw68quR6ej6XJTFBjKzs21DlGOTZPHp3hGCwjkOMQ
ODx1xY3aJgfWSR1Q7MWPeLzIqb+3ngQPEFOjpfAJ8ZzM4p3lUlkeWM3nV1qAZB92
M6wxrb/gSflBKzEcKmt37amX9e3uMbwCZhRlDxwpH6JwgYTHNtgOfOaPfzvH0iaz
FD/fMF/+JiS0FXBQvbrrCURgTR0CEFVnSXLDUfA4hk0rmamCAt+RuHevvNvfmOMF
tpR+vPXbXXtW0LAx8eGVYUJtZdtu1fQk/ZFKAzUG8L83ujeGnC20CUzTWEfpP3My
cV8WYGPe/PXYIw6ECT1UqDrrdJ0ikJVuoYAbudCgoz3EFQ9XibGCNCcdglQ3n6PK
ZLsHNuKNbf0NKDxFjUHjn2tVr4wWoQhrD7rY/hA08bR42GyZOgvMAS6Pf0VjAacU
6Xdq8ySacgz6P72Lmi6ndvFd0zrKMvXf9lCQ/dfG6FGxXrJOhq3cP9BVgyoG96C3
SNHEPSHoa49V9MdEYEFiBUrLrNmL6jmOtfLolumolcenvRZY1yEcxhOvSGt8p8mu
wngguSxeLuJmpuzNE/BE3JLVPUNyeQRPtRLhMDi9uvnEb8IC/W37YocdsFfYT/es
ufC9kBbNKx7Rea1yiTBxR+YnoVhFUzxBqPjsskBDwEL7BeixZ/zgNGWf6iLwS2AW
VOBCJt+4FYhUZG8LvjgI5c78V/ogSRtkfU+VTnUfNTi5EZatKs6SCFSKSSwhYu56
/MbDTqQr9XK24DK8+t7oY7yiQ3Cj5oqUQTDGzgaFt/i5L4Qynyd+m5ofpYjtj3on
RagF6OoH99xt8tzKq58bRGY9FEh9d51DIAtPR0N0za4RE2kaMCBVTWD/ThIassjs
zkUsnl8mQElE0Fg1ViSTWJb5vmpuh7cC1Fz4bNLIw+qqaqFePhP6VhVu9elhYzZR
48VtD2h/fTxfJ0pzVm6a8bmgwGrv3HQBMiG9zCwUD+FO+IM/r1k+os390Lv14O/n
IrMPA7GdrHfAtrQ1MW+y8ijsx2AAbaBWx1A8oQT8EE4GXXrw2anJIFD0/yYcnqp8
KJFIBnB6GY6r2nRDppPGL2rL8piDl6JNWXWWqhSpK7fpRrs5iCn+dbynMsNIKcuU
zeDx52Z5El4YQS1NN3M/oGETMQlY/AhAFk34OOAv2ukanZZ/Mn4zWxKuUrPKp/pM
12xfGDSW+a2vqQBXNOMZT5GQ8b6PVYQwVMFvGfbHdv/ukKx8Byzt9f80HgZoOK74
m/pq8gtf41Rpsh1dYlieCPU4G6cjSzkOBpNDM7jn+7Fq27EcQ9y2BjMohMs4H1ZR
A8qf+Ov6aNM1gR39Hvk3FWSh5gYWx/Bu6XSqcKt+wK7C3BPMonnfj+fNUg21e9Zs
+4GpIAeDHzy6RrqQUSqaHFGKyOanVDIQkZbioQ/JltI5JAyQoGB3eeOMgSEO8oV3
y/EholTegk9wiO7kq9GKgJvrjZWkAEVxl4EHbZR//vtL+Pa2CqYmgYFp3We5coBb
3JkEZMUcaHdH0oFyVc5XTPcPDcbrsjVBJdrxlK9pljEdqlPc44yUWFhvXrFTCS5p
b1SrVC73UB3smqeLiHQZZK1iYDbp8+oZEraz/9LSfD3aXO4O0BX+EMENs43HTcZZ
8VAe7N0P/6dpGVrMeN2mZkN+MX+WJ5+JewzwpC+BTWeKSpxUR1OHDJ20PZyU28cu
Fyys4+DVa3H1eiks2UqStsw4pffm+bw/VAhaw6vXwwLB0q084KwWRfhPpPc5YFHq
vIftpFKaNFLJQ/udKtTMGoYcqsWgvm/BKrP5zLUwBEkoDR2JCfFwv3ROocXb1C+V
wE4o7MaA1Mrgr7OBlYtZiOZpYH+9H6AU3NIURwBtWrZN6N+/ZgsAdUdRDZ/N37iv
mLibJiA9vvDhf5ZRPhs0ZT6QKxwJHE7gHdTmul9K+8RQkdcD17cDpdXMcg7+AONa
AxkHYhsKsPWI0kU58wSUH5Pgh2GQoiOfcFe+NM2IuLQMdbcpcG0R0XrP8wuzHAYD
8eOsC3m5HANF43njUZ7XKCBQqfor7KcgsTZKcDh/gXzT2032ulF4uyhbO1eaHC9F
pWaUKy91+9OegGFRvhPf36HO1y5aCTbOnAaVpuyCdvs4bt7E/mOK9GI3syam4SBC
BCqS/393hjqbO9LxLHxDhEF7NHT7KCRs++ocSZGQ14UGmmjPRlbf+Z7r74H3GnjM
w8aySmEMV+qDdQU17uf+3yQV6x71/8bOh0eEPy641DlgnpRG3/O7KwI/NlrT9IQE
J+dHE5wSWLqsKVobvNbOtCle7iES9R8BFbQBOiYse/sZrY1fUTH8FlFaax82alKc
t2QyBeHWgmeGlEaJg7SUHnOXtz158hwz0uWWnRhpI0n7AXzPuIKHTE1+sTIpdWlu
K7+wTmD8kKnyESgND6U/Yja2AnqOUSvdYzMLRVdpw/qNuvvl+n9dnDV2KXeQiYCI
cu2xMhrPJm+nfHTSPHWONGQdeQ9AQpW3s2fMeSZg44lFFxWQHX0riBe4V0p3HVWe
X+duUCv05qBCz5p6S9/S1sQ57kFinLpqBDp9WiwzRyELNlhaxK/FbLWC1Rl2QfY6
XVADAjRUNeRcSEkQNgQ6Tt9Vj1tctZuCSSK5kzwkCNT6hv13vijCBCP/deaZh0Fe
rNfoDRSAgN6YvAzeLxx83sRbwwJkMG1+Zbo8sVqUNqrNLeEgY7Tw8EhAFecBKT7Z
tA3zv2ze/q2A8QDOwXwSG3QRK7o0yUCvJ9K2g4VBqdYb2hXZuveRsgF9xTfdX1U6
itRcVR4A5BvvFY3HCHL0blC/DlLy1zX+L3hErpuO1WrU5Cv4TDrFSD/SibFW6OMQ
W3ATDGzxWsgV6wHrQPECoNM6ASc6YNjoFQ7RloP6UhemN7yiPSc2USznRCEm94+7
Lsf7KXeGhV+xHc46NQHP2GXny1To9Bzv77CBK8kYpPOWQ0KA5UZlU7js5/W+lQ1u
SJw2mTk3EeX14TkgOj/XGdHnefSCkyJhAVnBG0rOFcRj/c/2Zx+ACDNsy3dMtVYH</CipherValue>
 </CipherData>
</EncryptedData>
template.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!--
XML Security Library example: Original XML
 doc file before encryption (encrypt3 example).
-->
<EncryptedData
  xmlns="http://www.w3.org/2001/04/xmlenc#"
  Type="http://www.w3.org/2001/04/xmlenc#Element">
 <EncryptionMethod Algorithm=
   "http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/>
 <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
  <EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">
   <EncryptionMethod Algorithm=
     "http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
   <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
    <KeyName/>
   </KeyInfo>
   <CipherData>
    <CipherValue/>
   </CipherData>
  </EncryptedKey>
 </KeyInfo>
 <CipherData>
  <CipherValue/>
 </CipherData>
</EncryptedData>
Step 4:

Decrypt XML file using private key.

xmlsec decrypt --privkey-pem books-pri.pem books-enc.xml > books-dec.xml


books-dec.xml:
<?xml version="1.0"?>
<catalog>
   <book id="bk101">
      <author>Gambardella, Matthew</author>
      <title>XML Developer's Guide</title>
      <genre>Computer</genre>
      <price>44.95</price>
      <publish_date>2000-10-01</publish_date>
      <description>An in-depth look at creating applications
      with XML.</description>
   </book>
   <book id="bk102">
      <author>Ralls, Kim</author>
      <title>Midnight Rain</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2000-12-16</publish_date>
      <description>A former architect battles corporate zombies,
      an evil sorceress, and her own childhood to become queen
      of the world.</description>
   </book>
   <book id="bk103">
      <author>Corets, Eva</author>
      <title>Maeve Ascendant</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2000-11-17</publish_date>
      <description>After the collapse of a nanotechnology
      society in England, the young survivors lay the
      foundation for a new society.</description>
   </book>
   <book id="bk104">
      <author>Corets, Eva</author>
      <title>Oberon's Legacy</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2001-03-10</publish_date>
      <description>In post-apocalypse England, the mysterious
      agent known only as Oberon helps to create a new life
      for the inhabitants of London. Sequel to Maeve
      Ascendant.</description>
   </book>
   <book id="bk105">
      <author>Corets, Eva</author>
      <title>The Sundered Grail</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2001-09-10</publish_date>
      <description>The two daughters of Maeve, half-sisters,
      battle one another for control of England. Sequel to
      Oberon's Legacy.</description>
   </book>
   <book id="bk106">
      <author>Randall, Cynthia</author>
      <title>Lover Birds</title>
      <genre>Romance</genre>
      <price>4.95</price>
      <publish_date>2000-09-02</publish_date>
      <description>When Carla meets Paul at an ornithology
      conference, tempers fly as feathers get ruffled.</description>
   </book>
   <book id="bk107">
      <author>Thurman, Paula</author>
      <title>Splish Splash</title>
      <genre>Romance</genre>
      <price>4.95</price>
      <publish_date>2000-11-02</publish_date>
      <description>A deep sea diver finds true love twenty
      thousand leagues beneath the sea.</description>
   </book>
   <book id="bk108">
      <author>Knorr, Stefan</author>
      <title>Creepy Crawlies</title>
      <genre>Horror</genre>
      <price>4.95</price>
      <publish_date>2000-12-06</publish_date>
      <description>An anthology of horror stories about roaches,
      centipedes, scorpions  and other insects.</description>
   </book>
   <book id="bk109">
      <author>Kress, Peter</author>
      <title>Paradox Lost</title>
      <genre>Science Fiction</genre>
      <price>6.95</price>
      <publish_date>2000-11-02</publish_date>
      <description>After an inadvertant trip through a Heisenberg
      Uncertainty Device, James Salway discovers the problems
      of being quantum.</description>
   </book>
   <book id="bk110">
      <author>O'Brien, Tim</author>
      <title>Microsoft .NET: The Programming Bible</title>
      <genre>Computer</genre>
      <price>36.95</price>
      <publish_date>2000-12-09</publish_date>
      <description>Microsoft's .NET initiative is explored in
      detail in this deep programmer's reference.</description>
   </book>
   <book id="bk111">
      <author>O'Brien, Tim</author>
      <title>MSXML3: A Comprehensive Guide</title>
      <genre>Computer</genre>
      <price>36.95</price>
      <publish_date>2000-12-01</publish_date>
      <description>The Microsoft MSXML3 parser is covered in
      detail, with attention to XML DOM interfaces, XSLT processing,
      SAX and more.</description>
   </book>
   <book id="bk112">
      <author>Galos, Mike</author>
      <title>Visual Studio 7: A Comprehensive Guide</title>
      <genre>Computer</genre>
      <price>49.95</price>
      <publish_date>2001-04-16</publish_date>
      <description>Microsoft Visual Studio 7 is explored in depth,
      looking at how Visual Basic, Visual C++, C#, and ASP+ are
      integrated into a comprehensive development
      environment.</description>
   </book>
</catalog>