Sophie

Sophie

distrib > Mageia > 5 > x86_64 > media > core-release > by-pkgid > 553d1e1391b9f1acad517c925f34ae45 > files > 175

lib64xmltooling-devel-1.5.3-5.mga5.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>xmltooling: xmlencryption::Decrypter Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">xmltooling
   &#160;<span id="projectnumber">1.5.3</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('a00029.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="a00211.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">xmlencryption::Decrypter Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Wrapper API for XML Decryption functionality.  
 <a href="a00029.html#details">More...</a></p>

<p><code>#include &lt;xmltooling/encryption/Decrypter.h&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad2a822a693c12e7b29f73393c02fa521"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00029.html#ad2a822a693c12e7b29f73393c02fa521">Decrypter</a> (const <a class="el" href="a00026.html">xmltooling::CredentialResolver</a> *credResolver=0, <a class="el" href="a00025.html">xmltooling::CredentialCriteria</a> *criteria=0, const <a class="el" href="a00033.html">EncryptedKeyResolver</a> *EKResolver=0, bool requireAuthenticatedCipher=false)</td></tr>
<tr class="memdesc:ad2a822a693c12e7b29f73393c02fa521"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#ad2a822a693c12e7b29f73393c02fa521">More...</a><br /></td></tr>
<tr class="separator:ad2a822a693c12e7b29f73393c02fa521"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecbab452cdc427ce4e0ad89b1504be7c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00029.html#aecbab452cdc427ce4e0ad89b1504be7c">setEncryptedKeyResolver</a> (const <a class="el" href="a00033.html">EncryptedKeyResolver</a> *EKResolver)</td></tr>
<tr class="memdesc:aecbab452cdc427ce4e0ad89b1504be7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replace the current <a class="el" href="a00033.html" title="An API for resolving encrypted decryption keys. ">EncryptedKeyResolver</a> interface, if any, with a new one.  <a href="#aecbab452cdc427ce4e0ad89b1504be7c">More...</a><br /></td></tr>
<tr class="separator:aecbab452cdc427ce4e0ad89b1504be7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8db85ac8bd75691f6b6df4d8952e13f5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00029.html#a8db85ac8bd75691f6b6df4d8952e13f5">setKEKResolver</a> (const <a class="el" href="a00026.html">xmltooling::CredentialResolver</a> *resolver, <a class="el" href="a00025.html">xmltooling::CredentialCriteria</a> *criteria)</td></tr>
<tr class="memdesc:a8db85ac8bd75691f6b6df4d8952e13f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replace the current CredentialResolver interface, if any, with a new one.  <a href="#a8db85ac8bd75691f6b6df4d8952e13f5">More...</a><br /></td></tr>
<tr class="separator:a8db85ac8bd75691f6b6df4d8952e13f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29e90e2313d1607270d67964dd5b2ff5"><td class="memItemLeft" align="right" valign="top">xercesc::DOMDocumentFragment *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00029.html#a29e90e2313d1607270d67964dd5b2ff5">decryptData</a> (const EncryptedData &amp;encryptedData, XSECCryptoKey *key)</td></tr>
<tr class="memdesc:a29e90e2313d1607270d67964dd5b2ff5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrypts the supplied information using the supplied key, and returns the resulting as a DOM fragment owned by the document associated with the marshalled EncryptedData object.  <a href="#a29e90e2313d1607270d67964dd5b2ff5">More...</a><br /></td></tr>
<tr class="separator:a29e90e2313d1607270d67964dd5b2ff5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2c135d21722c10db08d0715fbef8009"><td class="memItemLeft" align="right" valign="top">xercesc::DOMDocumentFragment *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00029.html#ad2c135d21722c10db08d0715fbef8009">decryptData</a> (const EncryptedData &amp;encryptedData, const XMLCh *recipient=0)</td></tr>
<tr class="memdesc:ad2c135d21722c10db08d0715fbef8009"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrypts the supplied information and returns the resulting as a DOM fragment owned by the document associated with the marshalled EncryptedData object.  <a href="#ad2c135d21722c10db08d0715fbef8009">More...</a><br /></td></tr>
<tr class="separator:ad2c135d21722c10db08d0715fbef8009"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6b558fc65fb37e98bb5399ca7a37136"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00029.html#aa6b558fc65fb37e98bb5399ca7a37136">decryptData</a> (std::ostream &amp;out, const EncryptedData &amp;encryptedData, XSECCryptoKey *key)</td></tr>
<tr class="memdesc:aa6b558fc65fb37e98bb5399ca7a37136"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrypts the supplied information to an output stream.  <a href="#aa6b558fc65fb37e98bb5399ca7a37136">More...</a><br /></td></tr>
<tr class="separator:aa6b558fc65fb37e98bb5399ca7a37136"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb5e86286de9e0919e25cd8af15c4dc3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00029.html#acb5e86286de9e0919e25cd8af15c4dc3">decryptData</a> (std::ostream &amp;out, const EncryptedData &amp;encryptedData, const XMLCh *recipient=0)</td></tr>
<tr class="memdesc:acb5e86286de9e0919e25cd8af15c4dc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrypts the supplied information to an output stream.  <a href="#acb5e86286de9e0919e25cd8af15c4dc3">More...</a><br /></td></tr>
<tr class="separator:acb5e86286de9e0919e25cd8af15c4dc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fdf14fff8142be5b7690298395afae1"><td class="memItemLeft" align="right" valign="top">XSECCryptoKey *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00029.html#a8fdf14fff8142be5b7690298395afae1">decryptKey</a> (const EncryptedKey &amp;encryptedKey, const XMLCh *algorithm)</td></tr>
<tr class="memdesc:a8fdf14fff8142be5b7690298395afae1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrypts the supplied information and returns the resulting key.  <a href="#a8fdf14fff8142be5b7690298395afae1">More...</a><br /></td></tr>
<tr class="separator:a8fdf14fff8142be5b7690298395afae1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Wrapper API for XML Decryption functionality. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ad2a822a693c12e7b29f73393c02fa521"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">xmlencryption::Decrypter::Decrypter </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00026.html">xmltooling::CredentialResolver</a> *&#160;</td>
          <td class="paramname"><em>credResolver</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00025.html">xmltooling::CredentialCriteria</a> *&#160;</td>
          <td class="paramname"><em>criteria</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00033.html">EncryptedKeyResolver</a> *&#160;</td>
          <td class="paramname"><em>EKResolver</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>requireAuthenticatedCipher</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor. </p>
<p>The final boolean parameter is used to enforce a requirement for an authenticated cipher suite such as AES-GCM or similar. These ciphers include an HMAC or equivalent step that prevents tampering. Newer applications should set this parameter to true unless the ciphertext has been independently authenticated, and even in such a case, it is rarely possible to prevent chosen ciphertext attacks by trusted signers.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">credResolver</td><td>locked credential resolver to supply decryption keys </td></tr>
    <tr><td class="paramname">criteria</td><td>optional external criteria to use with resolver </td></tr>
    <tr><td class="paramname">EKResolver</td><td>locates an EncryptedKey pertaining to the EncryptedData </td></tr>
    <tr><td class="paramname">requireAuthenticatedCipher</td><td>true iff the bulk data encryption algorithm must be an authenticated cipher </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a29e90e2313d1607270d67964dd5b2ff5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">xercesc::DOMDocumentFragment* xmlencryption::Decrypter::decryptData </td>
          <td>(</td>
          <td class="paramtype">const EncryptedData &amp;&#160;</td>
          <td class="paramname"><em>encryptedData</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XSECCryptoKey *&#160;</td>
          <td class="paramname"><em>key</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Decrypts the supplied information using the supplied key, and returns the resulting as a DOM fragment owned by the document associated with the marshalled EncryptedData object. </p>
<p>Note that the DOM nodes will be invalidated once that document is released. The caller should therefore process the DOM fragment as required and drop all references to it before that happens. The usual approach should be to unmarshall the DOM and then release it, or the DOM can also be imported into a separately owned document.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">encryptedData</td><td>the data to decrypt </td></tr>
    <tr><td class="paramname">key</td><td>the decryption key to use (it will not be freed internally) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the decrypted DOM fragment </dd></dl>

</div>
</div>
<a class="anchor" id="ad2c135d21722c10db08d0715fbef8009"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">xercesc::DOMDocumentFragment* xmlencryption::Decrypter::decryptData </td>
          <td>(</td>
          <td class="paramtype">const EncryptedData &amp;&#160;</td>
          <td class="paramname"><em>encryptedData</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const XMLCh *&#160;</td>
          <td class="paramname"><em>recipient</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Decrypts the supplied information and returns the resulting as a DOM fragment owned by the document associated with the marshalled EncryptedData object. </p>
<p>Note that the DOM nodes will be invalidated once that document is released. The caller should therefore process the DOM fragment as required and drop all references to it before that happens. The usual approach should be to unmarshall the DOM and then release it, or the DOM can also be imported into a separately owned document.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">encryptedData</td><td>the data to decrypt </td></tr>
    <tr><td class="paramname">recipient</td><td>identifier of decrypting entity for use in identifying multi-cast keys </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the decrypted DOM fragment </dd></dl>

</div>
</div>
<a class="anchor" id="aa6b558fc65fb37e98bb5399ca7a37136"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void xmlencryption::Decrypter::decryptData </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const EncryptedData &amp;&#160;</td>
          <td class="paramname"><em>encryptedData</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XSECCryptoKey *&#160;</td>
          <td class="paramname"><em>key</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Decrypts the supplied information to an output stream. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">out</td><td>output stream to receive the decrypted data </td></tr>
    <tr><td class="paramname">encryptedData</td><td>the data to decrypt </td></tr>
    <tr><td class="paramname">key</td><td>the decryption key to use (it will not be freed internally) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="acb5e86286de9e0919e25cd8af15c4dc3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void xmlencryption::Decrypter::decryptData </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const EncryptedData &amp;&#160;</td>
          <td class="paramname"><em>encryptedData</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const XMLCh *&#160;</td>
          <td class="paramname"><em>recipient</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Decrypts the supplied information to an output stream. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">out</td><td>output stream to receive the decrypted data </td></tr>
    <tr><td class="paramname">encryptedData</td><td>the data to decrypt </td></tr>
    <tr><td class="paramname">recipient</td><td>identifier of decrypting entity for use in identifying multi-cast keys </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8fdf14fff8142be5b7690298395afae1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">XSECCryptoKey* xmlencryption::Decrypter::decryptKey </td>
          <td>(</td>
          <td class="paramtype">const EncryptedKey &amp;&#160;</td>
          <td class="paramname"><em>encryptedKey</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const XMLCh *&#160;</td>
          <td class="paramname"><em>algorithm</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Decrypts the supplied information and returns the resulting key. </p>
<p>The caller is responsible for deleting the key. The algorithm of the key must be supplied by the caller based on knowledge of the associated EncryptedData information.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">encryptedKey</td><td>the encrypted/wrapped key to decrypt </td></tr>
    <tr><td class="paramname">algorithm</td><td>the algorithm associated with the decrypted key </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the decrypted key </dd></dl>

</div>
</div>
<a class="anchor" id="aecbab452cdc427ce4e0ad89b1504be7c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void xmlencryption::Decrypter::setEncryptedKeyResolver </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00033.html">EncryptedKeyResolver</a> *&#160;</td>
          <td class="paramname"><em>EKResolver</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Replace the current <a class="el" href="a00033.html" title="An API for resolving encrypted decryption keys. ">EncryptedKeyResolver</a> interface, if any, with a new one. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">EKResolver</td><td>the <a class="el" href="a00033.html" title="An API for resolving encrypted decryption keys. ">EncryptedKeyResolver</a> to attach </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8db85ac8bd75691f6b6df4d8952e13f5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void xmlencryption::Decrypter::setKEKResolver </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00026.html">xmltooling::CredentialResolver</a> *&#160;</td>
          <td class="paramname"><em>resolver</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00025.html">xmltooling::CredentialCriteria</a> *&#160;</td>
          <td class="paramname"><em>criteria</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Replace the current CredentialResolver interface, if any, with a new one. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">resolver</td><td>the locked CredentialResolver to attach, or nullptr to clear </td></tr>
    <tr><td class="paramname">criteria</td><td>optional external criteria to use with resolver </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>xmltooling/encryption/<a class="el" href="a00129.html">Decrypter.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="a00204.html">xmlencryption</a></li><li class="navelem"><a class="el" href="a00029.html">Decrypter</a></li>
    <li class="footer">Generated on Fri Oct 17 2014 12:44:58 for xmltooling by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.8 </li>
  </ul>
</div>
</body>
</html>