Home | History | Annotate | Download | only in html
      1 <!-- HTML header for doxygen 1.8.10-->
      2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      3 <html xmlns="http://www.w3.org/1999/xhtml">
      4 <head>
      5 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
      6 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
      7 <meta name="generator" content="Doxygen 1.8.14"/>
      8 <title>Intel&reg; Enhanced Privacy ID SDK: verifier</title>
      9 <link href="tabs.css" rel="stylesheet" type="text/css"/>
     10 <script type="text/javascript" src="jquery.js"></script>
     11 <script type="text/javascript" src="dynsections.js"></script>
     12 <link href="navtree.css" rel="stylesheet" type="text/css"/>
     13 <script type="text/javascript" src="resize.js"></script>
     14 <script type="text/javascript" src="navtreedata.js"></script>
     15 <script type="text/javascript" src="navtree.js"></script>
     16 <script type="text/javascript">
     17 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
     18   $(document).ready(initResizable);
     19 /* @license-end */</script>
     20 <link href="doxygen.css" rel="stylesheet" type="text/css" />
     21 <link href="epidstyle.css" rel="stylesheet" type="text/css"/>
     22 </head>
     23 <body>
     24 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
     25 <div id="titlearea">
     26 <table cellspacing="0" cellpadding="0">
     27  <tbody>
     28  <tr style="height: 56px;">
     29   <td id="projectalign" style="padding-left: 0.5em;">
     30    <div id="projectname"><a 
     31                             onclick="storeLink('index.html')"
     32                             id="projectlink" 
     33                             class="index.html" 
     34                             href="index.html">Intel&reg; Enhanced Privacy ID SDK</a>
     35 &#160;<span id="projectnumber">6.0.1</span>
     36 </div>
     37   </td>
     38  </tr>
     39  </tbody>
     40 </table>
     41 </div>
     42 <!-- end header part -->
     43 <!-- Generated by Doxygen 1.8.14 -->
     44 </div><!-- top -->
     45 <div id="side-nav" class="ui-resizable side-nav-resizable">
     46   <div id="nav-tree">
     47     <div id="nav-tree-contents">
     48       <div id="nav-sync" class="sync"></div>
     49     </div>
     50   </div>
     51   <div id="splitbar" style="-moz-user-select:none;" 
     52        class="ui-resizable-handle">
     53   </div>
     54 </div>
     55 <script type="text/javascript">
     56 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
     57 $(document).ready(function(){initNavTree('group___epid_verifier_module.html','');});
     58 /* @license-end */
     59 </script>
     60 <div id="doc-content">
     61 <div class="header">
     62   <div class="summary">
     63 <a href="#groups">Modules</a> &#124;
     64 <a href="#nested-classes">Data Structures</a> &#124;
     65 <a href="#typedef-members">Typedefs</a> &#124;
     66 <a href="#func-members">Functions</a>  </div>
     67   <div class="headertitle">
     68 <div class="title">verifier<div class="ingroups"><a class="el" href="group___epid_module.html">epid&amp;nbsp;</a></div></div>  </div>
     69 </div><!--header-->
     70 <div class="contents">
     71 
     72 <p>Verifier functionality.  
     73 <a href="#details">More...</a></p>
     74 <table class="memberdecls">
     75 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
     76 Modules</h2></td></tr>
     77 <tr class="memitem:group___epid11_verifier_module"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid11_verifier_module.html">Intel(R) EPID 1.1 support</a></td></tr>
     78 <tr class="memdesc:group___epid11_verifier_module"><td class="mdescLeft">&#160;</td><td class="mdescRight">Intel(R) EPID 1.1 Verifier functionality. <br /></td></tr>
     79 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
     80 </table><table class="memberdecls">
     81 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
     82 Data Structures</h2></td></tr>
     83 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_verifier_precomp.html">VerifierPrecomp</a></td></tr>
     84 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pre-computed verifier settings.  <a href="struct_verifier_precomp.html#details">More...</a><br /></td></tr>
     85 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
     86 </table><table class="memberdecls">
     87 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
     88 Typedefs</h2></td></tr>
     89 <tr class="memitem:gaf172a5f8f7f069d38c5838b723a1a85c"><td class="memItemLeft" align="right" valign="top"><a id="gaf172a5f8f7f069d38c5838b723a1a85c"></a>
     90 typedef struct <a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a></td></tr>
     91 <tr class="memdesc:gaf172a5f8f7f069d38c5838b723a1a85c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal context of verifier. <br /></td></tr>
     92 <tr class="separator:gaf172a5f8f7f069d38c5838b723a1a85c"><td class="memSeparator" colspan="2">&#160;</td></tr>
     93 </table><table class="memberdecls">
     94 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
     95 Functions</h2></td></tr>
     96 <tr class="memitem:ga1d116daaee5466a1485d26ebc4e3ab70"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid_verifier_module.html#ga1d116daaee5466a1485d26ebc4e3ab70">EpidVerifierCreate</a> (<a class="el" href="struct_group_pub_key.html">GroupPubKey</a> const *pub_key, <a class="el" href="struct_verifier_precomp.html">VerifierPrecomp</a> const *precomp, <a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> **ctx)</td></tr>
     97 <tr class="memdesc:ga1d116daaee5466a1485d26ebc4e3ab70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new verifier context.  <a href="#ga1d116daaee5466a1485d26ebc4e3ab70">More...</a><br /></td></tr>
     98 <tr class="separator:ga1d116daaee5466a1485d26ebc4e3ab70"><td class="memSeparator" colspan="2">&#160;</td></tr>
     99 <tr class="memitem:ga6707e691f4b3916f9c684d5bbd463d12"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid_verifier_module.html#ga6707e691f4b3916f9c684d5bbd463d12">EpidVerifierDelete</a> (<a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> **ctx)</td></tr>
    100 <tr class="memdesc:ga6707e691f4b3916f9c684d5bbd463d12"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deletes an existing verifier context.  <a href="#ga6707e691f4b3916f9c684d5bbd463d12">More...</a><br /></td></tr>
    101 <tr class="separator:ga6707e691f4b3916f9c684d5bbd463d12"><td class="memSeparator" colspan="2">&#160;</td></tr>
    102 <tr class="memitem:ga92df4d00ea4ee59d7bfd35b23da03392"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid_verifier_module.html#ga92df4d00ea4ee59d7bfd35b23da03392">EpidVerifierWritePrecomp</a> (<a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> const *ctx, <a class="el" href="struct_verifier_precomp.html">VerifierPrecomp</a> *precomp)</td></tr>
    103 <tr class="memdesc:ga92df4d00ea4ee59d7bfd35b23da03392"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serializes the pre-computed verifier settings.  <a href="#ga92df4d00ea4ee59d7bfd35b23da03392">More...</a><br /></td></tr>
    104 <tr class="separator:ga92df4d00ea4ee59d7bfd35b23da03392"><td class="memSeparator" colspan="2">&#160;</td></tr>
    105 <tr class="memitem:gafab08180a43b58ce2e1d56c4b070bb0e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid_verifier_module.html#gafab08180a43b58ce2e1d56c4b070bb0e">EpidVerifierSetPrivRl</a> (<a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> *ctx, <a class="el" href="struct_priv_rl.html">PrivRl</a> const *priv_rl, size_t priv_rl_size)</td></tr>
    106 <tr class="memdesc:gafab08180a43b58ce2e1d56c4b070bb0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the private key based revocation list.  <a href="#gafab08180a43b58ce2e1d56c4b070bb0e">More...</a><br /></td></tr>
    107 <tr class="separator:gafab08180a43b58ce2e1d56c4b070bb0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
    108 <tr class="memitem:ga4c7c9820409ee06f30bb8dc75fdd5dcf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid_verifier_module.html#ga4c7c9820409ee06f30bb8dc75fdd5dcf">EpidVerifierSetSigRl</a> (<a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> *ctx, <a class="el" href="struct_sig_rl.html">SigRl</a> const *sig_rl, size_t sig_rl_size)</td></tr>
    109 <tr class="memdesc:ga4c7c9820409ee06f30bb8dc75fdd5dcf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the signature based revocation list.  <a href="#ga4c7c9820409ee06f30bb8dc75fdd5dcf">More...</a><br /></td></tr>
    110 <tr class="separator:ga4c7c9820409ee06f30bb8dc75fdd5dcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
    111 <tr class="memitem:ga1d41d6ef4dabbc30ec28452edd6baffb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid_verifier_module.html#ga1d41d6ef4dabbc30ec28452edd6baffb">EpidVerifierSetGroupRl</a> (<a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> *ctx, <a class="el" href="struct_group_rl.html">GroupRl</a> const *grp_rl, size_t grp_rl_size)</td></tr>
    112 <tr class="memdesc:ga1d41d6ef4dabbc30ec28452edd6baffb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the group based revocation list.  <a href="#ga1d41d6ef4dabbc30ec28452edd6baffb">More...</a><br /></td></tr>
    113 <tr class="separator:ga1d41d6ef4dabbc30ec28452edd6baffb"><td class="memSeparator" colspan="2">&#160;</td></tr>
    114 <tr class="memitem:ga0909703a0a4dfe080374d0d99077465a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid_verifier_module.html#ga0909703a0a4dfe080374d0d99077465a">EpidVerifierSetVerifierRl</a> (<a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> *ctx, <a class="el" href="struct_verifier_rl.html">VerifierRl</a> const *ver_rl, size_t ver_rl_size)</td></tr>
    115 <tr class="memdesc:ga0909703a0a4dfe080374d0d99077465a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the verifier revocation list.  <a href="#ga0909703a0a4dfe080374d0d99077465a">More...</a><br /></td></tr>
    116 <tr class="separator:ga0909703a0a4dfe080374d0d99077465a"><td class="memSeparator" colspan="2">&#160;</td></tr>
    117 <tr class="memitem:ga97b58b2382f24756b66a357f1e825c92"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid_verifier_module.html#ga97b58b2382f24756b66a357f1e825c92">EpidVerifierSetHashAlg</a> (<a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> *ctx, <a class="el" href="group___epid_types.html#ga5e450438f6f9a5eacd0cf5ce354ec890">HashAlg</a> hash_alg)</td></tr>
    118 <tr class="memdesc:ga97b58b2382f24756b66a357f1e825c92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the hash algorithm to be used by a verifier.  <a href="#ga97b58b2382f24756b66a357f1e825c92">More...</a><br /></td></tr>
    119 <tr class="separator:ga97b58b2382f24756b66a357f1e825c92"><td class="memSeparator" colspan="2">&#160;</td></tr>
    120 <tr class="memitem:ga1c3810ef361da678a1f77823bd9c37a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid_verifier_module.html#ga1c3810ef361da678a1f77823bd9c37a6">EpidVerifierSetBasename</a> (<a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> *ctx, void const *basename, size_t basename_len)</td></tr>
    121 <tr class="memdesc:ga1c3810ef361da678a1f77823bd9c37a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the basename to be used by a verifier.  <a href="#ga1c3810ef361da678a1f77823bd9c37a6">More...</a><br /></td></tr>
    122 <tr class="separator:ga1c3810ef361da678a1f77823bd9c37a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
    123 <tr class="memitem:gae3f9c37628e18b880d8bbee3e7f55064"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid_verifier_module.html#gae3f9c37628e18b880d8bbee3e7f55064">EpidVerify</a> (<a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> const *ctx, <a class="el" href="struct_epid_signature.html">EpidSignature</a> const *sig, size_t sig_len, void const *msg, size_t msg_len)</td></tr>
    124 <tr class="memdesc:gae3f9c37628e18b880d8bbee3e7f55064"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verifies a signature and checks revocation status.  <a href="#gae3f9c37628e18b880d8bbee3e7f55064">More...</a><br /></td></tr>
    125 <tr class="separator:gae3f9c37628e18b880d8bbee3e7f55064"><td class="memSeparator" colspan="2">&#160;</td></tr>
    126 <tr class="memitem:gae44bd8acbc1e7205aeedff0c7e2632a8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdtypes_8h.html#ad5c9d4ba3dc37783a528b0925dc981a0">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid_verifier_module.html#gae44bd8acbc1e7205aeedff0c7e2632a8">EpidAreSigsLinked</a> (<a class="el" href="struct_basic_signature.html">BasicSignature</a> const *sig1, <a class="el" href="struct_basic_signature.html">BasicSignature</a> const *sig2)</td></tr>
    127 <tr class="memdesc:gae44bd8acbc1e7205aeedff0c7e2632a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines if two signatures are linked.  <a href="#gae44bd8acbc1e7205aeedff0c7e2632a8">More...</a><br /></td></tr>
    128 <tr class="separator:gae44bd8acbc1e7205aeedff0c7e2632a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
    129 <tr class="memitem:gac3b1f1a2bdba8eeeebbf1e0c8c00862e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid_verifier_module.html#gac3b1f1a2bdba8eeeebbf1e0c8c00862e">EpidVerifyBasicSig</a> (<a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> const *ctx, <a class="el" href="struct_basic_signature.html">BasicSignature</a> const *sig, void const *msg, size_t msg_len)</td></tr>
    130 <tr class="memdesc:gac3b1f1a2bdba8eeeebbf1e0c8c00862e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verifies a member signature without revocation checks.  <a href="#gac3b1f1a2bdba8eeeebbf1e0c8c00862e">More...</a><br /></td></tr>
    131 <tr class="separator:gac3b1f1a2bdba8eeeebbf1e0c8c00862e"><td class="memSeparator" colspan="2">&#160;</td></tr>
    132 <tr class="memitem:gac6e2fab59e3af8a33a74a5b201642700"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid_verifier_module.html#gac6e2fab59e3af8a33a74a5b201642700">EpidNrVerify</a> (<a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> const *ctx, <a class="el" href="struct_basic_signature.html">BasicSignature</a> const *sig, void const *msg, size_t msg_len, <a class="el" href="struct_sig_rl_entry.html">SigRlEntry</a> const *sigrl_entry, <a class="el" href="struct_nr_proof.html">NrProof</a> const *proof)</td></tr>
    133 <tr class="memdesc:gac6e2fab59e3af8a33a74a5b201642700"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verifies the non-revoked proof for a single signature based revocation list entry.  <a href="#gac6e2fab59e3af8a33a74a5b201642700">More...</a><br /></td></tr>
    134 <tr class="separator:gac6e2fab59e3af8a33a74a5b201642700"><td class="memSeparator" colspan="2">&#160;</td></tr>
    135 <tr class="memitem:gaeb05e6faea6f09c0665b13adc6e7ddea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid_verifier_module.html#gaeb05e6faea6f09c0665b13adc6e7ddea">EpidCheckPrivRlEntry</a> (<a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> const *ctx, <a class="el" href="struct_basic_signature.html">BasicSignature</a> const *sig, <a class="el" href="struct_fp_elem_str.html">FpElemStr</a> const *f)</td></tr>
    136 <tr class="memdesc:gaeb05e6faea6f09c0665b13adc6e7ddea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verifies a signature has not been revoked in the private key based revocation list.  <a href="#gaeb05e6faea6f09c0665b13adc6e7ddea">More...</a><br /></td></tr>
    137 <tr class="separator:gaeb05e6faea6f09c0665b13adc6e7ddea"><td class="memSeparator" colspan="2">&#160;</td></tr>
    138 <tr class="memitem:ga2a75c7d5775e852a7b6e24178dd4054f"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid_verifier_module.html#ga2a75c7d5775e852a7b6e24178dd4054f">EpidGetVerifierRlSize</a> (<a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> const *ctx)</td></tr>
    139 <tr class="memdesc:ga2a75c7d5775e852a7b6e24178dd4054f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of bytes required to serialize the verifier blacklist.  <a href="#ga2a75c7d5775e852a7b6e24178dd4054f">More...</a><br /></td></tr>
    140 <tr class="separator:ga2a75c7d5775e852a7b6e24178dd4054f"><td class="memSeparator" colspan="2">&#160;</td></tr>
    141 <tr class="memitem:gac857bff47e7d80363eac15285471fe81"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid_verifier_module.html#gac857bff47e7d80363eac15285471fe81">EpidWriteVerifierRl</a> (<a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> const *ctx, <a class="el" href="struct_verifier_rl.html">VerifierRl</a> *ver_rl, size_t ver_rl_size)</td></tr>
    142 <tr class="memdesc:gac857bff47e7d80363eac15285471fe81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serializes the verifier blacklist to a buffer.  <a href="#gac857bff47e7d80363eac15285471fe81">More...</a><br /></td></tr>
    143 <tr class="separator:gac857bff47e7d80363eac15285471fe81"><td class="memSeparator" colspan="2">&#160;</td></tr>
    144 <tr class="memitem:ga8eaeb9f4a34e9e37ccdf342919f38c69"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid_verifier_module.html#ga8eaeb9f4a34e9e37ccdf342919f38c69">EpidBlacklistSig</a> (<a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> *ctx, <a class="el" href="struct_epid_signature.html">EpidSignature</a> const *sig, size_t sig_len, void const *msg, size_t msg_len)</td></tr>
    145 <tr class="memdesc:ga8eaeb9f4a34e9e37ccdf342919f38c69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a valid name-based signature to the verifier blacklist.  <a href="#ga8eaeb9f4a34e9e37ccdf342919f38c69">More...</a><br /></td></tr>
    146 <tr class="separator:ga8eaeb9f4a34e9e37ccdf342919f38c69"><td class="memSeparator" colspan="2">&#160;</td></tr>
    147 </table>
    148 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
    149 <p>Verifier functionality. </p>
    150 <p>Defines the APIs needed by Intel(R) EPID verifiers. Each verifier context (<a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c" title="Internal context of verifier. ">VerifierCtx</a>) represents a verifier for a single group.</p>
    151 <p>To use this module, include the header <a class="el" href="verifier_2api_8h.html" title="Intel(R) EPID SDK verifier API. ">epid/verifier/api.h</a>. </p>
    152 <h2 class="groupheader">Function Documentation</h2>
    153 <a id="gae44bd8acbc1e7205aeedff0c7e2632a8"></a>
    154 <h2 class="memtitle"><span class="permalink"><a href="#gae44bd8acbc1e7205aeedff0c7e2632a8">&#9670;&nbsp;</a></span>EpidAreSigsLinked()</h2>
    155 
    156 <div class="memitem">
    157 <div class="memproto">
    158       <table class="memname">
    159         <tr>
    160           <td class="memname"><a class="el" href="stdtypes_8h.html#ad5c9d4ba3dc37783a528b0925dc981a0">bool</a> EpidAreSigsLinked </td>
    161           <td>(</td>
    162           <td class="paramtype"><a class="el" href="struct_basic_signature.html">BasicSignature</a> const *&#160;</td>
    163           <td class="paramname"><em>sig1</em>, </td>
    164         </tr>
    165         <tr>
    166           <td class="paramkey"></td>
    167           <td></td>
    168           <td class="paramtype"><a class="el" href="struct_basic_signature.html">BasicSignature</a> const *&#160;</td>
    169           <td class="paramname"><em>sig2</em>&#160;</td>
    170         </tr>
    171         <tr>
    172           <td></td>
    173           <td>)</td>
    174           <td></td><td></td>
    175         </tr>
    176       </table>
    177 </div><div class="memdoc">
    178 
    179 <p>Determines if two signatures are linked. </p>
    180 <p>The Intel(R) EPID scheme allows signatures to be linked. If basename option is specified when signing, signatures with the same basename are linkable. This linking capability allows the verifier, or anyone, to know whether two Intel(R) EPID signatures are generated by the same member.</p>
    181 <dl class="params"><dt>Parameters</dt><dd>
    182   <table class="params">
    183     <tr><td class="paramdir">[in]</td><td class="paramname">sig1</td><td>A basic signature. </td></tr>
    184     <tr><td class="paramdir">[in]</td><td class="paramname">sig2</td><td>A basic signature.</td></tr>
    185   </table>
    186   </dd>
    187 </dl>
    188 <dl class="section return"><dt>Returns</dt><dd>bool</dd></dl>
    189 <dl class="retval"><dt>Return values</dt><dd>
    190   <table class="retval">
    191     <tr><td class="paramname">true</td><td>if the signatures were generated by the same member </td></tr>
    192     <tr><td class="paramname">false</td><td>if it couldn't be determined if the signatures were generated by the same member</td></tr>
    193   </table>
    194   </dd>
    195 </dl>
    196 <dl class="section note"><dt>Note</dt><dd>The input signatures should be verified using <a class="el" href="group___epid_verifier_module.html#gac3b1f1a2bdba8eeeebbf1e0c8c00862e" title="Verifies a member signature without revocation checks. ">EpidVerifyBasicSig()</a> before invocation. Behavior is undefined if either of the signatures cannot be verified.</dd></dl>
    197 <dl class="section see"><dt>See also</dt><dd><a class="el" href="group___epid_verifier_module.html#gac3b1f1a2bdba8eeeebbf1e0c8c00862e" title="Verifies a member signature without revocation checks. ">EpidVerifyBasicSig</a> </dd>
    198 <dd>
    199 EpidSignBasic </dd>
    200 <dd>
    201 <a class="el" href="group___epid_member_module.html#ga74d1409a816cb52633564b793072da5f" title="Writes an Intel(R) EPID signature. ">EpidSign</a> </dd></dl>
    202 
    203 </div>
    204 </div>
    205 <a id="ga8eaeb9f4a34e9e37ccdf342919f38c69"></a>
    206 <h2 class="memtitle"><span class="permalink"><a href="#ga8eaeb9f4a34e9e37ccdf342919f38c69">&#9670;&nbsp;</a></span>EpidBlacklistSig()</h2>
    207 
    208 <div class="memitem">
    209 <div class="memproto">
    210       <table class="memname">
    211         <tr>
    212           <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidBlacklistSig </td>
    213           <td>(</td>
    214           <td class="paramtype"><a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> *&#160;</td>
    215           <td class="paramname"><em>ctx</em>, </td>
    216         </tr>
    217         <tr>
    218           <td class="paramkey"></td>
    219           <td></td>
    220           <td class="paramtype"><a class="el" href="struct_epid_signature.html">EpidSignature</a> const *&#160;</td>
    221           <td class="paramname"><em>sig</em>, </td>
    222         </tr>
    223         <tr>
    224           <td class="paramkey"></td>
    225           <td></td>
    226           <td class="paramtype">size_t&#160;</td>
    227           <td class="paramname"><em>sig_len</em>, </td>
    228         </tr>
    229         <tr>
    230           <td class="paramkey"></td>
    231           <td></td>
    232           <td class="paramtype">void const *&#160;</td>
    233           <td class="paramname"><em>msg</em>, </td>
    234         </tr>
    235         <tr>
    236           <td class="paramkey"></td>
    237           <td></td>
    238           <td class="paramtype">size_t&#160;</td>
    239           <td class="paramname"><em>msg_len</em>&#160;</td>
    240         </tr>
    241         <tr>
    242           <td></td>
    243           <td>)</td>
    244           <td></td><td></td>
    245         </tr>
    246       </table>
    247 </div><div class="memdoc">
    248 
    249 <p>Adds a valid name-based signature to the verifier blacklist. </p>
    250 <p>If the signature is not valid it will not be added to the blacklist.</p>
    251 <dl class="params"><dt>Parameters</dt><dd>
    252   <table class="params">
    253     <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>The verifier context. </td></tr>
    254     <tr><td class="paramdir">[in]</td><td class="paramname">sig</td><td>The name-based signature to revoke. </td></tr>
    255     <tr><td class="paramdir">[in]</td><td class="paramname">sig_len</td><td>The size of sig in bytes. </td></tr>
    256     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The message that was signed. </td></tr>
    257     <tr><td class="paramdir">[in]</td><td class="paramname">msg_len</td><td>The size of msg in bytes.</td></tr>
    258   </table>
    259   </dd>
    260 </dl>
    261 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
    262 <dl class="section see"><dt>See also</dt><dd><a class="el" href="group___epid_verifier_module.html#ga1d116daaee5466a1485d26ebc4e3ab70" title="Creates a new verifier context. ">EpidVerifierCreate</a> </dd>
    263 <dd>
    264 <a class="el" href="group___epid_verifier_module.html#ga0909703a0a4dfe080374d0d99077465a" title="Sets the verifier revocation list. ">EpidVerifierSetVerifierRl</a> </dd>
    265 <dd>
    266 <a class="el" href="group___epid_verifier_module.html#gac857bff47e7d80363eac15285471fe81" title="Serializes the verifier blacklist to a buffer. ">EpidWriteVerifierRl</a> </dd></dl>
    267 
    268 </div>
    269 </div>
    270 <a id="gaeb05e6faea6f09c0665b13adc6e7ddea"></a>
    271 <h2 class="memtitle"><span class="permalink"><a href="#gaeb05e6faea6f09c0665b13adc6e7ddea">&#9670;&nbsp;</a></span>EpidCheckPrivRlEntry()</h2>
    272 
    273 <div class="memitem">
    274 <div class="memproto">
    275       <table class="memname">
    276         <tr>
    277           <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidCheckPrivRlEntry </td>
    278           <td>(</td>
    279           <td class="paramtype"><a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> const *&#160;</td>
    280           <td class="paramname"><em>ctx</em>, </td>
    281         </tr>
    282         <tr>
    283           <td class="paramkey"></td>
    284           <td></td>
    285           <td class="paramtype"><a class="el" href="struct_basic_signature.html">BasicSignature</a> const *&#160;</td>
    286           <td class="paramname"><em>sig</em>, </td>
    287         </tr>
    288         <tr>
    289           <td class="paramkey"></td>
    290           <td></td>
    291           <td class="paramtype"><a class="el" href="struct_fp_elem_str.html">FpElemStr</a> const *&#160;</td>
    292           <td class="paramname"><em>f</em>&#160;</td>
    293         </tr>
    294         <tr>
    295           <td></td>
    296           <td>)</td>
    297           <td></td><td></td>
    298         </tr>
    299       </table>
    300 </div><div class="memdoc">
    301 
    302 <p>Verifies a signature has not been revoked in the private key based revocation list. </p>
    303 <p>Used in constrained environments where, due to limited memory, it may not be possible to process through a large and potentially unbounded revocation list.</p>
    304 <dl class="params"><dt>Parameters</dt><dd>
    305   <table class="params">
    306     <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>The verifier context. </td></tr>
    307     <tr><td class="paramdir">[in]</td><td class="paramname">sig</td><td>The basic signature. </td></tr>
    308     <tr><td class="paramdir">[in]</td><td class="paramname">f</td><td>The private key based revocation list entry.</td></tr>
    309   </table>
    310   </dd>
    311 </dl>
    312 <dl class="section note"><dt>Note</dt><dd>Sig should be verified using <a class="el" href="group___epid_verifier_module.html#gac3b1f1a2bdba8eeeebbf1e0c8c00862e" title="Verifies a member signature without revocation checks. ">EpidVerifyBasicSig()</a> before invocation. Behavior is undefined if sig cannot be verified.</dd>
    313 <dd>
    314 This function should be used in conjunction with <a class="el" href="group___epid_verifier_module.html#gac6e2fab59e3af8a33a74a5b201642700" title="Verifies the non-revoked proof for a single signature based revocation list entry. ">EpidNrVerify()</a> and <a class="el" href="group___epid_verifier_module.html#gac3b1f1a2bdba8eeeebbf1e0c8c00862e" title="Verifies a member signature without revocation checks. ">EpidVerifyBasicSig()</a>.</dd>
    315 <dd>
    316 If the result is not <a class="el" href="group___error_codes.html#ggafdb27c77c2c4b32c807e326a8a0da360a8a6861e14322ca9193498ffc955537f9" title="no error ">kEpidNoErr</a> the verify should be considered to have failed.</dd></dl>
    317 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a> </dd></dl>
    318 <dl class="section see"><dt>See also</dt><dd><a class="el" href="group___epid_verifier_module.html#ga1d116daaee5466a1485d26ebc4e3ab70" title="Creates a new verifier context. ">EpidVerifierCreate</a> </dd>
    319 <dd>
    320 <a class="el" href="group___epid_verifier_module.html#gac6e2fab59e3af8a33a74a5b201642700" title="Verifies the non-revoked proof for a single signature based revocation list entry. ">EpidNrVerify</a> </dd>
    321 <dd>
    322 <a class="el" href="group___epid_verifier_module.html#gac3b1f1a2bdba8eeeebbf1e0c8c00862e" title="Verifies a member signature without revocation checks. ">EpidVerifyBasicSig</a> </dd></dl>
    323 
    324 </div>
    325 </div>
    326 <a id="ga2a75c7d5775e852a7b6e24178dd4054f"></a>
    327 <h2 class="memtitle"><span class="permalink"><a href="#ga2a75c7d5775e852a7b6e24178dd4054f">&#9670;&nbsp;</a></span>EpidGetVerifierRlSize()</h2>
    328 
    329 <div class="memitem">
    330 <div class="memproto">
    331       <table class="memname">
    332         <tr>
    333           <td class="memname">size_t EpidGetVerifierRlSize </td>
    334           <td>(</td>
    335           <td class="paramtype"><a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> const *&#160;</td>
    336           <td class="paramname"><em>ctx</em></td><td>)</td>
    337           <td></td>
    338         </tr>
    339       </table>
    340 </div><div class="memdoc">
    341 
    342 <p>Returns the number of bytes required to serialize the verifier blacklist. </p>
    343 <p>Use this function to determine the buffer size required by <a class="el" href="group___epid_verifier_module.html#gac857bff47e7d80363eac15285471fe81" title="Serializes the verifier blacklist to a buffer. ">EpidWriteVerifierRl</a>.</p>
    344 <dl class="params"><dt>Parameters</dt><dd>
    345   <table class="params">
    346     <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>The verifier context.</td></tr>
    347   </table>
    348   </dd>
    349 </dl>
    350 <dl class="section return"><dt>Returns</dt><dd>Size in bytes required to serialize the verifier blacklist</dd></dl>
    351 <dl class="section see"><dt>See also</dt><dd><a class="el" href="group___epid_verifier_module.html#ga1d116daaee5466a1485d26ebc4e3ab70" title="Creates a new verifier context. ">EpidVerifierCreate</a> </dd>
    352 <dd>
    353 <a class="el" href="group___epid_verifier_module.html#ga0909703a0a4dfe080374d0d99077465a" title="Sets the verifier revocation list. ">EpidVerifierSetVerifierRl</a> </dd>
    354 <dd>
    355 <a class="el" href="group___epid_verifier_module.html#ga8eaeb9f4a34e9e37ccdf342919f38c69" title="Adds a valid name-based signature to the verifier blacklist. ">EpidBlacklistSig</a> </dd>
    356 <dd>
    357 <a class="el" href="group___epid_verifier_module.html#gac857bff47e7d80363eac15285471fe81" title="Serializes the verifier blacklist to a buffer. ">EpidWriteVerifierRl</a> </dd></dl>
    358 
    359 </div>
    360 </div>
    361 <a id="gac6e2fab59e3af8a33a74a5b201642700"></a>
    362 <h2 class="memtitle"><span class="permalink"><a href="#gac6e2fab59e3af8a33a74a5b201642700">&#9670;&nbsp;</a></span>EpidNrVerify()</h2>
    363 
    364 <div class="memitem">
    365 <div class="memproto">
    366       <table class="memname">
    367         <tr>
    368           <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidNrVerify </td>
    369           <td>(</td>
    370           <td class="paramtype"><a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> const *&#160;</td>
    371           <td class="paramname"><em>ctx</em>, </td>
    372         </tr>
    373         <tr>
    374           <td class="paramkey"></td>
    375           <td></td>
    376           <td class="paramtype"><a class="el" href="struct_basic_signature.html">BasicSignature</a> const *&#160;</td>
    377           <td class="paramname"><em>sig</em>, </td>
    378         </tr>
    379         <tr>
    380           <td class="paramkey"></td>
    381           <td></td>
    382           <td class="paramtype">void const *&#160;</td>
    383           <td class="paramname"><em>msg</em>, </td>
    384         </tr>
    385         <tr>
    386           <td class="paramkey"></td>
    387           <td></td>
    388           <td class="paramtype">size_t&#160;</td>
    389           <td class="paramname"><em>msg_len</em>, </td>
    390         </tr>
    391         <tr>
    392           <td class="paramkey"></td>
    393           <td></td>
    394           <td class="paramtype"><a class="el" href="struct_sig_rl_entry.html">SigRlEntry</a> const *&#160;</td>
    395           <td class="paramname"><em>sigrl_entry</em>, </td>
    396         </tr>
    397         <tr>
    398           <td class="paramkey"></td>
    399           <td></td>
    400           <td class="paramtype"><a class="el" href="struct_nr_proof.html">NrProof</a> const *&#160;</td>
    401           <td class="paramname"><em>proof</em>&#160;</td>
    402         </tr>
    403         <tr>
    404           <td></td>
    405           <td>)</td>
    406           <td></td><td></td>
    407         </tr>
    408       </table>
    409 </div><div class="memdoc">
    410 
    411 <p>Verifies the non-revoked proof for a single signature based revocation list entry. </p>
    412 <p>Used in constrained environments where, due to limited memory, it may not be possible to process through a large and potentially unbounded revocation list.</p>
    413 <dl class="params"><dt>Parameters</dt><dd>
    414   <table class="params">
    415     <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>The verifier context. </td></tr>
    416     <tr><td class="paramdir">[in]</td><td class="paramname">sig</td><td>The basic signature. </td></tr>
    417     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The message that was signed. </td></tr>
    418     <tr><td class="paramdir">[in]</td><td class="paramname">msg_len</td><td>The size of msg in bytes. </td></tr>
    419     <tr><td class="paramdir">[in]</td><td class="paramname">sigrl_entry</td><td>The signature based revocation list entry. </td></tr>
    420     <tr><td class="paramdir">[in]</td><td class="paramname">proof</td><td>The non-revoked proof.</td></tr>
    421   </table>
    422   </dd>
    423 </dl>
    424 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
    425 <dl class="section note"><dt>Note</dt><dd>Sig should be verified using <a class="el" href="group___epid_verifier_module.html#gac3b1f1a2bdba8eeeebbf1e0c8c00862e" title="Verifies a member signature without revocation checks. ">EpidVerifyBasicSig()</a> before invocation. Behavior is undefined if sig cannot be verified.</dd>
    426 <dd>
    427 This function should be used in conjunction with <a class="el" href="group___epid_verifier_module.html#gac3b1f1a2bdba8eeeebbf1e0c8c00862e" title="Verifies a member signature without revocation checks. ">EpidVerifyBasicSig()</a> and <a class="el" href="group___epid_verifier_module.html#gaeb05e6faea6f09c0665b13adc6e7ddea" title="Verifies a signature has not been revoked in the private key based revocation list. ">EpidCheckPrivRlEntry()</a>.</dd>
    428 <dd>
    429 If the result is not <a class="el" href="group___error_codes.html#ggafdb27c77c2c4b32c807e326a8a0da360a8a6861e14322ca9193498ffc955537f9" title="no error ">kEpidNoErr</a>, the verification should be considered to have failed.</dd></dl>
    430 <dl class="section see"><dt>See also</dt><dd><a class="el" href="group___epid_verifier_module.html#ga1d116daaee5466a1485d26ebc4e3ab70" title="Creates a new verifier context. ">EpidVerifierCreate</a> </dd>
    431 <dd>
    432 <a class="el" href="group___epid_verifier_module.html#gac3b1f1a2bdba8eeeebbf1e0c8c00862e" title="Verifies a member signature without revocation checks. ">EpidVerifyBasicSig</a> </dd>
    433 <dd>
    434 <a class="el" href="group___epid_verifier_module.html#gaeb05e6faea6f09c0665b13adc6e7ddea" title="Verifies a signature has not been revoked in the private key based revocation list. ">EpidCheckPrivRlEntry</a> </dd></dl>
    435 
    436 </div>
    437 </div>
    438 <a id="ga1d116daaee5466a1485d26ebc4e3ab70"></a>
    439 <h2 class="memtitle"><span class="permalink"><a href="#ga1d116daaee5466a1485d26ebc4e3ab70">&#9670;&nbsp;</a></span>EpidVerifierCreate()</h2>
    440 
    441 <div class="memitem">
    442 <div class="memproto">
    443       <table class="memname">
    444         <tr>
    445           <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidVerifierCreate </td>
    446           <td>(</td>
    447           <td class="paramtype"><a class="el" href="struct_group_pub_key.html">GroupPubKey</a> const *&#160;</td>
    448           <td class="paramname"><em>pub_key</em>, </td>
    449         </tr>
    450         <tr>
    451           <td class="paramkey"></td>
    452           <td></td>
    453           <td class="paramtype"><a class="el" href="struct_verifier_precomp.html">VerifierPrecomp</a> const *&#160;</td>
    454           <td class="paramname"><em>precomp</em>, </td>
    455         </tr>
    456         <tr>
    457           <td class="paramkey"></td>
    458           <td></td>
    459           <td class="paramtype"><a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> **&#160;</td>
    460           <td class="paramname"><em>ctx</em>&#160;</td>
    461         </tr>
    462         <tr>
    463           <td></td>
    464           <td>)</td>
    465           <td></td><td></td>
    466         </tr>
    467       </table>
    468 </div><div class="memdoc">
    469 
    470 <p>Creates a new verifier context. </p>
    471 <p>Must be called to create the verifier context that is used by other "Verifier" APIs.</p>
    472 <p>Allocates memory for the context, then initializes it.</p>
    473 <p><a class="el" href="group___epid_verifier_module.html#ga6707e691f4b3916f9c684d5bbd463d12" title="Deletes an existing verifier context. ">EpidVerifierDelete()</a> must be called to safely release the member context.</p>
    474 <dl class="params"><dt>Parameters</dt><dd>
    475   <table class="params">
    476     <tr><td class="paramdir">[in]</td><td class="paramname">pub_key</td><td>The group certificate. </td></tr>
    477     <tr><td class="paramdir">[in]</td><td class="paramname">precomp</td><td>Optional pre-computed data. If NULL the value is computed internally and is readable using <a class="el" href="group___epid_verifier_module.html#ga92df4d00ea4ee59d7bfd35b23da03392" title="Serializes the pre-computed verifier settings. ">EpidVerifierWritePrecomp()</a>. </td></tr>
    478     <tr><td class="paramdir">[out]</td><td class="paramname">ctx</td><td>Newly constructed verifier context.</td></tr>
    479   </table>
    480   </dd>
    481 </dl>
    482 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
    483 <dl class="section note"><dt>Note</dt><dd>If the result is not <a class="el" href="group___error_codes.html#ggafdb27c77c2c4b32c807e326a8a0da360a8a6861e14322ca9193498ffc955537f9" title="no error ">kEpidNoErr</a> the content of ctx is undefined.</dd></dl>
    484 <dl class="section see"><dt>See also</dt><dd><a class="el" href="group___epid_verifier_module.html#ga6707e691f4b3916f9c684d5bbd463d12" title="Deletes an existing verifier context. ">EpidVerifierDelete</a> </dd>
    485 <dd>
    486 <a class="el" href="group___epid_verifier_module.html#ga92df4d00ea4ee59d7bfd35b23da03392" title="Serializes the pre-computed verifier settings. ">EpidVerifierWritePrecomp</a></dd></dl>
    487 <p><b>Example</b> </p>
    488 <p><a class="el" href="_user_manual__verifying_an_intel_epid_signature.html">Verifying an Intel&reg; EPID Signature</a> </p>
    489 
    490 </div>
    491 </div>
    492 <a id="ga6707e691f4b3916f9c684d5bbd463d12"></a>
    493 <h2 class="memtitle"><span class="permalink"><a href="#ga6707e691f4b3916f9c684d5bbd463d12">&#9670;&nbsp;</a></span>EpidVerifierDelete()</h2>
    494 
    495 <div class="memitem">
    496 <div class="memproto">
    497       <table class="memname">
    498         <tr>
    499           <td class="memname">void EpidVerifierDelete </td>
    500           <td>(</td>
    501           <td class="paramtype"><a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> **&#160;</td>
    502           <td class="paramname"><em>ctx</em></td><td>)</td>
    503           <td></td>
    504         </tr>
    505       </table>
    506 </div><div class="memdoc">
    507 
    508 <p>Deletes an existing verifier context. </p>
    509 <p>Must be called to safely release a verifier context created using <a class="el" href="group___epid_verifier_module.html#ga1d116daaee5466a1485d26ebc4e3ab70" title="Creates a new verifier context. ">EpidVerifierCreate()</a>.</p>
    510 <p>De-initializes the context, frees memory used by the context, and sets the context pointer to NULL.</p>
    511 <dl class="params"><dt>Parameters</dt><dd>
    512   <table class="params">
    513     <tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The verifier context. Can be NULL.</td></tr>
    514   </table>
    515   </dd>
    516 </dl>
    517 <dl class="section see"><dt>See also</dt><dd><a class="el" href="group___epid_verifier_module.html#ga1d116daaee5466a1485d26ebc4e3ab70" title="Creates a new verifier context. ">EpidVerifierCreate</a></dd></dl>
    518 <p><b>Example</b> </p>
    519 <p><a class="el" href="_user_manual__verifying_an_intel_epid_signature.html">Verifying an Intel&reg; EPID Signature</a> </p>
    520 
    521 </div>
    522 </div>
    523 <a id="ga1c3810ef361da678a1f77823bd9c37a6"></a>
    524 <h2 class="memtitle"><span class="permalink"><a href="#ga1c3810ef361da678a1f77823bd9c37a6">&#9670;&nbsp;</a></span>EpidVerifierSetBasename()</h2>
    525 
    526 <div class="memitem">
    527 <div class="memproto">
    528       <table class="memname">
    529         <tr>
    530           <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidVerifierSetBasename </td>
    531           <td>(</td>
    532           <td class="paramtype"><a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> *&#160;</td>
    533           <td class="paramname"><em>ctx</em>, </td>
    534         </tr>
    535         <tr>
    536           <td class="paramkey"></td>
    537           <td></td>
    538           <td class="paramtype">void const *&#160;</td>
    539           <td class="paramname"><em>basename</em>, </td>
    540         </tr>
    541         <tr>
    542           <td class="paramkey"></td>
    543           <td></td>
    544           <td class="paramtype">size_t&#160;</td>
    545           <td class="paramname"><em>basename_len</em>&#160;</td>
    546         </tr>
    547         <tr>
    548           <td></td>
    549           <td>)</td>
    550           <td></td><td></td>
    551         </tr>
    552       </table>
    553 </div><div class="memdoc">
    554 
    555 <p>Sets the basename to be used by a verifier. </p>
    556 <dl class="section note"><dt>Note</dt><dd>A successful call to this function will clear the current verifier blacklist.</dd></dl>
    557 <dl class="params"><dt>Parameters</dt><dd>
    558   <table class="params">
    559     <tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The verifier context. </td></tr>
    560     <tr><td class="paramdir">[in]</td><td class="paramname">basename</td><td>The basename. Pass NULL for random base. </td></tr>
    561     <tr><td class="paramdir">[in]</td><td class="paramname">basename_len</td><td>Number of bytes in basename buffer. Must be 0 if basename is NULL.</td></tr>
    562   </table>
    563   </dd>
    564 </dl>
    565 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
    566 <dl class="section see"><dt>See also</dt><dd><a class="el" href="group___epid_verifier_module.html#ga1d116daaee5466a1485d26ebc4e3ab70" title="Creates a new verifier context. ">EpidVerifierCreate</a></dd></dl>
    567 <p><b>Example</b> </p>
    568 <p><a class="el" href="_user_manual__verifying_an_intel_epid_signature.html">Verifying an Intel&reg; EPID Signature</a> </p>
    569 
    570 </div>
    571 </div>
    572 <a id="ga1d41d6ef4dabbc30ec28452edd6baffb"></a>
    573 <h2 class="memtitle"><span class="permalink"><a href="#ga1d41d6ef4dabbc30ec28452edd6baffb">&#9670;&nbsp;</a></span>EpidVerifierSetGroupRl()</h2>
    574 
    575 <div class="memitem">
    576 <div class="memproto">
    577       <table class="memname">
    578         <tr>
    579           <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidVerifierSetGroupRl </td>
    580           <td>(</td>
    581           <td class="paramtype"><a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> *&#160;</td>
    582           <td class="paramname"><em>ctx</em>, </td>
    583         </tr>
    584         <tr>
    585           <td class="paramkey"></td>
    586           <td></td>
    587           <td class="paramtype"><a class="el" href="struct_group_rl.html">GroupRl</a> const *&#160;</td>
    588           <td class="paramname"><em>grp_rl</em>, </td>
    589         </tr>
    590         <tr>
    591           <td class="paramkey"></td>
    592           <td></td>
    593           <td class="paramtype">size_t&#160;</td>
    594           <td class="paramname"><em>grp_rl_size</em>&#160;</td>
    595         </tr>
    596         <tr>
    597           <td></td>
    598           <td>)</td>
    599           <td></td><td></td>
    600         </tr>
    601       </table>
    602 </div><div class="memdoc">
    603 
    604 <p>Sets the group based revocation list. </p>
    605 <p>The caller is responsible for ensuring the revocation list is authorized, e.g signed by the issuer. The caller is also responsible checking the version of the revocation list. The call fails if trying to set an older version of the revocation list than was last set.</p>
    606 <dl class="section attention"><dt>Attention</dt><dd>The memory pointed to by grp_rl is accessed directly by the verifier until a new list is set or the verifier is destroyed. Do not modify the contents of this memory. The behavior of subsequent operations that rely on the revocation list is undefined if the memory is modified.</dd>
    607 <dd>
    608 It is the responsibility of the caller to free the memory pointed to by grp_rl after the verifier is no longer using it.</dd></dl>
    609 <dl class="params"><dt>Parameters</dt><dd>
    610   <table class="params">
    611     <tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The verifier context. </td></tr>
    612     <tr><td class="paramdir">[in]</td><td class="paramname">grp_rl</td><td>The group based revocation list. </td></tr>
    613     <tr><td class="paramdir">[in]</td><td class="paramname">grp_rl_size</td><td>The size of the group based revocation list in bytes.</td></tr>
    614   </table>
    615   </dd>
    616 </dl>
    617 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
    618 <dl class="section note"><dt>Note</dt><dd>If the result is not <a class="el" href="group___error_codes.html#ggafdb27c77c2c4b32c807e326a8a0da360a8a6861e14322ca9193498ffc955537f9" title="no error ">kEpidNoErr</a> the group based revocation list pointed to by the verifier is undefined.</dd></dl>
    619 <dl class="section see"><dt>See also</dt><dd><a class="el" href="group___epid_verifier_module.html#ga1d116daaee5466a1485d26ebc4e3ab70" title="Creates a new verifier context. ">EpidVerifierCreate</a></dd></dl>
    620 <p><b>Example</b> </p>
    621 <p><a class="el" href="_user_manual__verifying_an_intel_epid_signature.html">Verifying an Intel&reg; EPID Signature</a> </p>
    622 
    623 </div>
    624 </div>
    625 <a id="ga97b58b2382f24756b66a357f1e825c92"></a>
    626 <h2 class="memtitle"><span class="permalink"><a href="#ga97b58b2382f24756b66a357f1e825c92">&#9670;&nbsp;</a></span>EpidVerifierSetHashAlg()</h2>
    627 
    628 <div class="memitem">
    629 <div class="memproto">
    630       <table class="memname">
    631         <tr>
    632           <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidVerifierSetHashAlg </td>
    633           <td>(</td>
    634           <td class="paramtype"><a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> *&#160;</td>
    635           <td class="paramname"><em>ctx</em>, </td>
    636         </tr>
    637         <tr>
    638           <td class="paramkey"></td>
    639           <td></td>
    640           <td class="paramtype"><a class="el" href="group___epid_types.html#ga5e450438f6f9a5eacd0cf5ce354ec890">HashAlg</a>&#160;</td>
    641           <td class="paramname"><em>hash_alg</em>&#160;</td>
    642         </tr>
    643         <tr>
    644           <td></td>
    645           <td>)</td>
    646           <td></td><td></td>
    647         </tr>
    648       </table>
    649 </div><div class="memdoc">
    650 
    651 <p>Sets the hash algorithm to be used by a verifier. </p>
    652 <dl class="params"><dt>Parameters</dt><dd>
    653   <table class="params">
    654     <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>The verifier context. </td></tr>
    655     <tr><td class="paramdir">[in]</td><td class="paramname">hash_alg</td><td>The hash algorithm to use.</td></tr>
    656   </table>
    657   </dd>
    658 </dl>
    659 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
    660 <dl class="section note"><dt>Note</dt><dd>If the result is not <a class="el" href="group___error_codes.html#ggafdb27c77c2c4b32c807e326a8a0da360a8a6861e14322ca9193498ffc955537f9" title="no error ">kEpidNoErr</a>, the hash algorithm used by the verifier is undefined.</dd></dl>
    661 <dl class="section see"><dt>See also</dt><dd><a class="el" href="group___epid_verifier_module.html#ga1d116daaee5466a1485d26ebc4e3ab70" title="Creates a new verifier context. ">EpidVerifierCreate</a> </dd>
    662 <dd>
    663 <a class="el" href="group___epid_types.html#ga5e450438f6f9a5eacd0cf5ce354ec890" title="Recognized hash algorithms. ">HashAlg</a></dd></dl>
    664 <p><b>Example</b> </p>
    665 <p><a class="el" href="_user_manual__verifying_an_intel_epid_signature.html">Verifying an Intel&reg; EPID Signature</a> </p>
    666 
    667 </div>
    668 </div>
    669 <a id="gafab08180a43b58ce2e1d56c4b070bb0e"></a>
    670 <h2 class="memtitle"><span class="permalink"><a href="#gafab08180a43b58ce2e1d56c4b070bb0e">&#9670;&nbsp;</a></span>EpidVerifierSetPrivRl()</h2>
    671 
    672 <div class="memitem">
    673 <div class="memproto">
    674       <table class="memname">
    675         <tr>
    676           <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidVerifierSetPrivRl </td>
    677           <td>(</td>
    678           <td class="paramtype"><a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> *&#160;</td>
    679           <td class="paramname"><em>ctx</em>, </td>
    680         </tr>
    681         <tr>
    682           <td class="paramkey"></td>
    683           <td></td>
    684           <td class="paramtype"><a class="el" href="struct_priv_rl.html">PrivRl</a> const *&#160;</td>
    685           <td class="paramname"><em>priv_rl</em>, </td>
    686         </tr>
    687         <tr>
    688           <td class="paramkey"></td>
    689           <td></td>
    690           <td class="paramtype">size_t&#160;</td>
    691           <td class="paramname"><em>priv_rl_size</em>&#160;</td>
    692         </tr>
    693         <tr>
    694           <td></td>
    695           <td>)</td>
    696           <td></td><td></td>
    697         </tr>
    698       </table>
    699 </div><div class="memdoc">
    700 
    701 <p>Sets the private key based revocation list. </p>
    702 <p>The caller is responsible for ensuring the revocation list is authorized, e.g signed by the issuer. The caller is also responsible checking the version of the revocation list. The call fails if trying to set an older version of the revocation list than was last set.</p>
    703 <dl class="section attention"><dt>Attention</dt><dd>The memory pointed to by priv_rl is accessed directly by the verifier until a new list is set or the verifier is destroyed. Do not modify the contents of this memory. The behavior of subsequent operations that rely on the revocation list is undefined if the memory is modified.</dd>
    704 <dd>
    705 It is the responsibility of the caller to free the memory pointed to by priv_rl after the verifier is no longer using it.</dd></dl>
    706 <dl class="params"><dt>Parameters</dt><dd>
    707   <table class="params">
    708     <tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The verifier context. </td></tr>
    709     <tr><td class="paramdir">[in]</td><td class="paramname">priv_rl</td><td>The private key based revocation list. </td></tr>
    710     <tr><td class="paramdir">[in]</td><td class="paramname">priv_rl_size</td><td>The size of the private key based revocation list in bytes.</td></tr>
    711   </table>
    712   </dd>
    713 </dl>
    714 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
    715 <dl class="section note"><dt>Note</dt><dd>If the result is not <a class="el" href="group___error_codes.html#ggafdb27c77c2c4b32c807e326a8a0da360a8a6861e14322ca9193498ffc955537f9" title="no error ">kEpidNoErr</a> the private key based revocation list pointed to by the verifier is undefined.</dd></dl>
    716 <dl class="section see"><dt>See also</dt><dd><a class="el" href="group___epid_verifier_module.html#ga1d116daaee5466a1485d26ebc4e3ab70" title="Creates a new verifier context. ">EpidVerifierCreate</a></dd></dl>
    717 <p><b>Example</b> </p>
    718 <p><a class="el" href="_user_manual__verifying_an_intel_epid_signature.html">Verifying an Intel&reg; EPID Signature</a> </p>
    719 
    720 </div>
    721 </div>
    722 <a id="ga4c7c9820409ee06f30bb8dc75fdd5dcf"></a>
    723 <h2 class="memtitle"><span class="permalink"><a href="#ga4c7c9820409ee06f30bb8dc75fdd5dcf">&#9670;&nbsp;</a></span>EpidVerifierSetSigRl()</h2>
    724 
    725 <div class="memitem">
    726 <div class="memproto">
    727       <table class="memname">
    728         <tr>
    729           <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidVerifierSetSigRl </td>
    730           <td>(</td>
    731           <td class="paramtype"><a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> *&#160;</td>
    732           <td class="paramname"><em>ctx</em>, </td>
    733         </tr>
    734         <tr>
    735           <td class="paramkey"></td>
    736           <td></td>
    737           <td class="paramtype"><a class="el" href="struct_sig_rl.html">SigRl</a> const *&#160;</td>
    738           <td class="paramname"><em>sig_rl</em>, </td>
    739         </tr>
    740         <tr>
    741           <td class="paramkey"></td>
    742           <td></td>
    743           <td class="paramtype">size_t&#160;</td>
    744           <td class="paramname"><em>sig_rl_size</em>&#160;</td>
    745         </tr>
    746         <tr>
    747           <td></td>
    748           <td>)</td>
    749           <td></td><td></td>
    750         </tr>
    751       </table>
    752 </div><div class="memdoc">
    753 
    754 <p>Sets the signature based revocation list. </p>
    755 <p>The caller is responsible for ensuring the revocation list is authorized, e.g signed by the issuer. The caller is also responsible checking the version of the revocation list. The call fails if trying to set an older version of the revocation list than was last set.</p>
    756 <dl class="section attention"><dt>Attention</dt><dd>The memory pointed to by sig_rl is accessed directly by the verifier until a new list is set or the verifier is destroyed. Do not modify the contents of this memory. The behavior of subsequent operations that rely on the revocation list is undefined if the memory is modified.</dd>
    757 <dd>
    758 It is the responsibility of the caller to free the memory pointed to by sig_rl after the verifier is no longer using it.</dd></dl>
    759 <dl class="params"><dt>Parameters</dt><dd>
    760   <table class="params">
    761     <tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The verifier context. </td></tr>
    762     <tr><td class="paramdir">[in]</td><td class="paramname">sig_rl</td><td>The signature based revocation list. </td></tr>
    763     <tr><td class="paramdir">[in]</td><td class="paramname">sig_rl_size</td><td>The size of the signature based revocation list in bytes.</td></tr>
    764   </table>
    765   </dd>
    766 </dl>
    767 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
    768 <dl class="section note"><dt>Note</dt><dd>If the result is not <a class="el" href="group___error_codes.html#ggafdb27c77c2c4b32c807e326a8a0da360a8a6861e14322ca9193498ffc955537f9" title="no error ">kEpidNoErr</a> the signature based revocation list pointed to by the verifier is undefined.</dd></dl>
    769 <dl class="section see"><dt>See also</dt><dd><a class="el" href="group___epid_verifier_module.html#ga1d116daaee5466a1485d26ebc4e3ab70" title="Creates a new verifier context. ">EpidVerifierCreate</a></dd></dl>
    770 <p><b>Example</b> </p>
    771 <p><a class="el" href="_user_manual__verifying_an_intel_epid_signature.html">Verifying an Intel&reg; EPID Signature</a> </p>
    772 
    773 </div>
    774 </div>
    775 <a id="ga0909703a0a4dfe080374d0d99077465a"></a>
    776 <h2 class="memtitle"><span class="permalink"><a href="#ga0909703a0a4dfe080374d0d99077465a">&#9670;&nbsp;</a></span>EpidVerifierSetVerifierRl()</h2>
    777 
    778 <div class="memitem">
    779 <div class="memproto">
    780       <table class="memname">
    781         <tr>
    782           <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidVerifierSetVerifierRl </td>
    783           <td>(</td>
    784           <td class="paramtype"><a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> *&#160;</td>
    785           <td class="paramname"><em>ctx</em>, </td>
    786         </tr>
    787         <tr>
    788           <td class="paramkey"></td>
    789           <td></td>
    790           <td class="paramtype"><a class="el" href="struct_verifier_rl.html">VerifierRl</a> const *&#160;</td>
    791           <td class="paramname"><em>ver_rl</em>, </td>
    792         </tr>
    793         <tr>
    794           <td class="paramkey"></td>
    795           <td></td>
    796           <td class="paramtype">size_t&#160;</td>
    797           <td class="paramname"><em>ver_rl_size</em>&#160;</td>
    798         </tr>
    799         <tr>
    800           <td></td>
    801           <td>)</td>
    802           <td></td><td></td>
    803         </tr>
    804       </table>
    805 </div><div class="memdoc">
    806 
    807 <p>Sets the verifier revocation list. </p>
    808 <p>The caller is responsible for ensuring the revocation list is authorized. The caller is also responsible for checking the version of the revocation list. The call fails if trying to set an older version of the same revocation list than was last set.</p>
    809 <p>Once <a class="el" href="group___epid_verifier_module.html#ga0909703a0a4dfe080374d0d99077465a" title="Sets the verifier revocation list. ">EpidVerifierSetVerifierRl</a> returns, callers are free to release the memory pointed to by ver_rl.</p>
    810 <dl class="params"><dt>Parameters</dt><dd>
    811   <table class="params">
    812     <tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The verifier context. </td></tr>
    813     <tr><td class="paramdir">[in]</td><td class="paramname">ver_rl</td><td>The verifier revocation list. </td></tr>
    814     <tr><td class="paramdir">[in]</td><td class="paramname">ver_rl_size</td><td>The size of the verifier revocation list in bytes.</td></tr>
    815   </table>
    816   </dd>
    817 </dl>
    818 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
    819 <dl class="section note"><dt>Note</dt><dd>If the result is not <a class="el" href="group___error_codes.html#ggafdb27c77c2c4b32c807e326a8a0da360a8a6861e14322ca9193498ffc955537f9" title="no error ">kEpidNoErr</a> the verifier revocation list pointed to by the verifier is undefined.</dd></dl>
    820 <dl class="section see"><dt>See also</dt><dd><a class="el" href="group___epid_verifier_module.html#ga1d116daaee5466a1485d26ebc4e3ab70" title="Creates a new verifier context. ">EpidVerifierCreate</a> </dd>
    821 <dd>
    822 <a class="el" href="group___epid_verifier_module.html#ga8eaeb9f4a34e9e37ccdf342919f38c69" title="Adds a valid name-based signature to the verifier blacklist. ">EpidBlacklistSig</a> </dd>
    823 <dd>
    824 <a class="el" href="group___epid_verifier_module.html#gac857bff47e7d80363eac15285471fe81" title="Serializes the verifier blacklist to a buffer. ">EpidWriteVerifierRl</a></dd></dl>
    825 <p><b>Example</b> </p>
    826 <p><a class="el" href="_user_manual__verifying_an_intel_epid_signature.html">Verifying an Intel&reg; EPID Signature</a> </p>
    827 
    828 </div>
    829 </div>
    830 <a id="ga92df4d00ea4ee59d7bfd35b23da03392"></a>
    831 <h2 class="memtitle"><span class="permalink"><a href="#ga92df4d00ea4ee59d7bfd35b23da03392">&#9670;&nbsp;</a></span>EpidVerifierWritePrecomp()</h2>
    832 
    833 <div class="memitem">
    834 <div class="memproto">
    835       <table class="memname">
    836         <tr>
    837           <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidVerifierWritePrecomp </td>
    838           <td>(</td>
    839           <td class="paramtype"><a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> const *&#160;</td>
    840           <td class="paramname"><em>ctx</em>, </td>
    841         </tr>
    842         <tr>
    843           <td class="paramkey"></td>
    844           <td></td>
    845           <td class="paramtype"><a class="el" href="struct_verifier_precomp.html">VerifierPrecomp</a> *&#160;</td>
    846           <td class="paramname"><em>precomp</em>&#160;</td>
    847         </tr>
    848         <tr>
    849           <td></td>
    850           <td>)</td>
    851           <td></td><td></td>
    852         </tr>
    853       </table>
    854 </div><div class="memdoc">
    855 
    856 <p>Serializes the pre-computed verifier settings. </p>
    857 <dl class="params"><dt>Parameters</dt><dd>
    858   <table class="params">
    859     <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>The verifier context. </td></tr>
    860     <tr><td class="paramdir">[out]</td><td class="paramname">precomp</td><td>The Serialized pre-computed verifier settings. </td></tr>
    861   </table>
    862   </dd>
    863 </dl>
    864 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
    865 <dl class="section note"><dt>Note</dt><dd>If the result is not <a class="el" href="group___error_codes.html#ggafdb27c77c2c4b32c807e326a8a0da360a8a6861e14322ca9193498ffc955537f9" title="no error ">kEpidNoErr</a> the content of precomp is undefined.</dd></dl>
    866 <p><b>Example</b> </p>
    867 <p><a class="el" href="_user_manual__verifying_an_intel_epid_signature.html">Verifying an Intel&reg; EPID Signature</a> </p>
    868 
    869 </div>
    870 </div>
    871 <a id="gae3f9c37628e18b880d8bbee3e7f55064"></a>
    872 <h2 class="memtitle"><span class="permalink"><a href="#gae3f9c37628e18b880d8bbee3e7f55064">&#9670;&nbsp;</a></span>EpidVerify()</h2>
    873 
    874 <div class="memitem">
    875 <div class="memproto">
    876       <table class="memname">
    877         <tr>
    878           <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidVerify </td>
    879           <td>(</td>
    880           <td class="paramtype"><a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> const *&#160;</td>
    881           <td class="paramname"><em>ctx</em>, </td>
    882         </tr>
    883         <tr>
    884           <td class="paramkey"></td>
    885           <td></td>
    886           <td class="paramtype"><a class="el" href="struct_epid_signature.html">EpidSignature</a> const *&#160;</td>
    887           <td class="paramname"><em>sig</em>, </td>
    888         </tr>
    889         <tr>
    890           <td class="paramkey"></td>
    891           <td></td>
    892           <td class="paramtype">size_t&#160;</td>
    893           <td class="paramname"><em>sig_len</em>, </td>
    894         </tr>
    895         <tr>
    896           <td class="paramkey"></td>
    897           <td></td>
    898           <td class="paramtype">void const *&#160;</td>
    899           <td class="paramname"><em>msg</em>, </td>
    900         </tr>
    901         <tr>
    902           <td class="paramkey"></td>
    903           <td></td>
    904           <td class="paramtype">size_t&#160;</td>
    905           <td class="paramname"><em>msg_len</em>&#160;</td>
    906         </tr>
    907         <tr>
    908           <td></td>
    909           <td>)</td>
    910           <td></td><td></td>
    911         </tr>
    912       </table>
    913 </div><div class="memdoc">
    914 
    915 <p>Verifies a signature and checks revocation status. </p>
    916 <dl class="params"><dt>Parameters</dt><dd>
    917   <table class="params">
    918     <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>The verifier context. </td></tr>
    919     <tr><td class="paramdir">[in]</td><td class="paramname">sig</td><td>The signature. </td></tr>
    920     <tr><td class="paramdir">[in]</td><td class="paramname">sig_len</td><td>The size of sig in bytes. </td></tr>
    921     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The message that was signed. </td></tr>
    922     <tr><td class="paramdir">[in]</td><td class="paramname">msg_len</td><td>The size of msg in bytes.</td></tr>
    923   </table>
    924   </dd>
    925 </dl>
    926 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
    927 <dl class="retval"><dt>Return values</dt><dd>
    928   <table class="retval">
    929     <tr><td class="paramname"><a class="el" href="group___error_codes.html#ggafdb27c77c2c4b32c807e326a8a0da360ab45ad60085d03c03ea30b40a0519897e" title="Signature is valid. ">kEpidSigValid</a></td><td>Signature validated successfully </td></tr>
    930     <tr><td class="paramname"><a class="el" href="group___error_codes.html#ggafdb27c77c2c4b32c807e326a8a0da360aeedd19b8a1cbdecf963f90b4860e02b8" title="Signature is invalid. ">kEpidSigInvalid</a></td><td>Signature is invalid </td></tr>
    931     <tr><td class="paramname"><a class="el" href="group___error_codes.html#ggafdb27c77c2c4b32c807e326a8a0da360aedd43fb4043bef3b515fc23f1d9a5fe5" title="Signature revoked in GroupRl. ">kEpidSigRevokedInGroupRl</a></td><td>Signature revoked in <a class="el" href="struct_group_rl.html" title="group revocation list ">GroupRl</a> </td></tr>
    932     <tr><td class="paramname"><a class="el" href="group___error_codes.html#ggafdb27c77c2c4b32c807e326a8a0da360a1dc7b7e6ff97c7ed9ff4191d76ebd6e1" title="Signature revoked in PrivRl. ">kEpidSigRevokedInPrivRl</a></td><td>Signature revoked in <a class="el" href="struct_priv_rl.html" title="private-key based revocation list. ">PrivRl</a> </td></tr>
    933     <tr><td class="paramname"><a class="el" href="group___error_codes.html#ggafdb27c77c2c4b32c807e326a8a0da360a43c658cbf0d156850d71ce3f8efd461c" title="Signature revoked in SigRl. ">kEpidSigRevokedInSigRl</a></td><td>Signature revoked in <a class="el" href="struct_sig_rl.html" title="signature based revocation list ">SigRl</a> </td></tr>
    934     <tr><td class="paramname"><a class="el" href="group___error_codes.html#ggafdb27c77c2c4b32c807e326a8a0da360a486e052baa99c6c25ae5d5cc710de298" title="Signature revoked in VerifierRl. ">kEpidSigRevokedInVerifierRl</a></td><td>Signature revoked in <a class="el" href="struct_verifier_rl.html">VerifierRl</a></td></tr>
    935   </table>
    936   </dd>
    937 </dl>
    938 <dl class="section note"><dt>Note</dt><dd>If the result is not <a class="el" href="group___error_codes.html#ggafdb27c77c2c4b32c807e326a8a0da360a8a6861e14322ca9193498ffc955537f9" title="no error ">kEpidNoErr</a> or one of the values listed above the verify should be considered to have failed.</dd></dl>
    939 <dl class="section see"><dt>See also</dt><dd><a class="el" href="group___epid_verifier_module.html#ga1d116daaee5466a1485d26ebc4e3ab70" title="Creates a new verifier context. ">EpidVerifierCreate</a> </dd>
    940 <dd>
    941 EpidSignBasic </dd>
    942 <dd>
    943 <a class="el" href="group___epid_member_module.html#ga74d1409a816cb52633564b793072da5f" title="Writes an Intel(R) EPID signature. ">EpidSign</a></dd></dl>
    944 <p><b>Example</b> </p>
    945 <p><a class="el" href="_user_manual__verifying_an_intel_epid_signature.html">Verifying an Intel&reg; EPID Signature</a> </p>
    946 
    947 </div>
    948 </div>
    949 <a id="gac3b1f1a2bdba8eeeebbf1e0c8c00862e"></a>
    950 <h2 class="memtitle"><span class="permalink"><a href="#gac3b1f1a2bdba8eeeebbf1e0c8c00862e">&#9670;&nbsp;</a></span>EpidVerifyBasicSig()</h2>
    951 
    952 <div class="memitem">
    953 <div class="memproto">
    954       <table class="memname">
    955         <tr>
    956           <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidVerifyBasicSig </td>
    957           <td>(</td>
    958           <td class="paramtype"><a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> const *&#160;</td>
    959           <td class="paramname"><em>ctx</em>, </td>
    960         </tr>
    961         <tr>
    962           <td class="paramkey"></td>
    963           <td></td>
    964           <td class="paramtype"><a class="el" href="struct_basic_signature.html">BasicSignature</a> const *&#160;</td>
    965           <td class="paramname"><em>sig</em>, </td>
    966         </tr>
    967         <tr>
    968           <td class="paramkey"></td>
    969           <td></td>
    970           <td class="paramtype">void const *&#160;</td>
    971           <td class="paramname"><em>msg</em>, </td>
    972         </tr>
    973         <tr>
    974           <td class="paramkey"></td>
    975           <td></td>
    976           <td class="paramtype">size_t&#160;</td>
    977           <td class="paramname"><em>msg_len</em>&#160;</td>
    978         </tr>
    979         <tr>
    980           <td></td>
    981           <td>)</td>
    982           <td></td><td></td>
    983         </tr>
    984       </table>
    985 </div><div class="memdoc">
    986 
    987 <p>Verifies a member signature without revocation checks. </p>
    988 <p>Used in constrained environments where, due to limited memory, it may not be possible to process through a large and potentially unbounded revocation list.</p>
    989 <dl class="params"><dt>Parameters</dt><dd>
    990   <table class="params">
    991     <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>The verifier context. </td></tr>
    992     <tr><td class="paramdir">[in]</td><td class="paramname">sig</td><td>The basic signature. </td></tr>
    993     <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The message that was signed. </td></tr>
    994     <tr><td class="paramdir">[in]</td><td class="paramname">msg_len</td><td>The size of msg in bytes.</td></tr>
    995   </table>
    996   </dd>
    997 </dl>
    998 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
    999 <dl class="section note"><dt>Note</dt><dd>This function should be used in conjunction with <a class="el" href="group___epid_verifier_module.html#gac6e2fab59e3af8a33a74a5b201642700" title="Verifies the non-revoked proof for a single signature based revocation list entry. ">EpidNrVerify()</a> and <a class="el" href="group___epid_verifier_module.html#gaeb05e6faea6f09c0665b13adc6e7ddea" title="Verifies a signature has not been revoked in the private key based revocation list. ">EpidCheckPrivRlEntry()</a>.</dd>
   1000 <dd>
   1001 If the result is not <a class="el" href="group___error_codes.html#ggafdb27c77c2c4b32c807e326a8a0da360a8a6861e14322ca9193498ffc955537f9" title="no error ">kEpidNoErr</a> the verify should be considered to have failed.</dd></dl>
   1002 <dl class="section see"><dt>See also</dt><dd><a class="el" href="group___epid_verifier_module.html#ga1d116daaee5466a1485d26ebc4e3ab70" title="Creates a new verifier context. ">EpidVerifierCreate</a> </dd>
   1003 <dd>
   1004 EpidSignBasic </dd>
   1005 <dd>
   1006 <a class="el" href="group___epid_member_module.html#ga74d1409a816cb52633564b793072da5f" title="Writes an Intel(R) EPID signature. ">EpidSign</a> </dd></dl>
   1007 
   1008 </div>
   1009 </div>
   1010 <a id="gac857bff47e7d80363eac15285471fe81"></a>
   1011 <h2 class="memtitle"><span class="permalink"><a href="#gac857bff47e7d80363eac15285471fe81">&#9670;&nbsp;</a></span>EpidWriteVerifierRl()</h2>
   1012 
   1013 <div class="memitem">
   1014 <div class="memproto">
   1015       <table class="memname">
   1016         <tr>
   1017           <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidWriteVerifierRl </td>
   1018           <td>(</td>
   1019           <td class="paramtype"><a class="el" href="group___epid_verifier_module.html#gaf172a5f8f7f069d38c5838b723a1a85c">VerifierCtx</a> const *&#160;</td>
   1020           <td class="paramname"><em>ctx</em>, </td>
   1021         </tr>
   1022         <tr>
   1023           <td class="paramkey"></td>
   1024           <td></td>
   1025           <td class="paramtype"><a class="el" href="struct_verifier_rl.html">VerifierRl</a> *&#160;</td>
   1026           <td class="paramname"><em>ver_rl</em>, </td>
   1027         </tr>
   1028         <tr>
   1029           <td class="paramkey"></td>
   1030           <td></td>
   1031           <td class="paramtype">size_t&#160;</td>
   1032           <td class="paramname"><em>ver_rl_size</em>&#160;</td>
   1033         </tr>
   1034         <tr>
   1035           <td></td>
   1036           <td>)</td>
   1037           <td></td><td></td>
   1038         </tr>
   1039       </table>
   1040 </div><div class="memdoc">
   1041 
   1042 <p>Serializes the verifier blacklist to a buffer. </p>
   1043 <p>If the current blacklist is empty or not set a valid empty verifier blacklist will be serialized.</p>
   1044 <p>Use <a class="el" href="group___epid_verifier_module.html#ga2a75c7d5775e852a7b6e24178dd4054f" title="Returns the number of bytes required to serialize the verifier blacklist. ">EpidGetVerifierRlSize</a> to determine the buffer size required to serialize the verifier blacklist.</p>
   1045 <dl class="params"><dt>Parameters</dt><dd>
   1046   <table class="params">
   1047     <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>The verifier context. </td></tr>
   1048     <tr><td class="paramdir">[out]</td><td class="paramname">ver_rl</td><td>An existing buffer in which to write the verifier revocation list. </td></tr>
   1049     <tr><td class="paramdir">[in]</td><td class="paramname">ver_rl_size</td><td>The size of the caller allocated output buffer in bytes.</td></tr>
   1050   </table>
   1051   </dd>
   1052 </dl>
   1053 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
   1054 <dl class="section see"><dt>See also</dt><dd><a class="el" href="group___epid_verifier_module.html#ga1d116daaee5466a1485d26ebc4e3ab70" title="Creates a new verifier context. ">EpidVerifierCreate</a> </dd>
   1055 <dd>
   1056 <a class="el" href="group___epid_verifier_module.html#ga0909703a0a4dfe080374d0d99077465a" title="Sets the verifier revocation list. ">EpidVerifierSetVerifierRl</a> </dd>
   1057 <dd>
   1058 <a class="el" href="group___epid_verifier_module.html#ga8eaeb9f4a34e9e37ccdf342919f38c69" title="Adds a valid name-based signature to the verifier blacklist. ">EpidBlacklistSig</a> </dd>
   1059 <dd>
   1060 <a class="el" href="group___epid_verifier_module.html#ga2a75c7d5775e852a7b6e24178dd4054f" title="Returns the number of bytes required to serialize the verifier blacklist. ">EpidGetVerifierRlSize</a> </dd></dl>
   1061 
   1062 </div>
   1063 </div>
   1064 </div><!-- contents -->
   1065 </div><!-- doc-content -->
   1066 <!-- HTML footer for doxygen 1.8.10-->
   1067 <!-- start footer part -->
   1068 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   1069   <ul>
   1070     <li class="footer">
   1071       &copy; 2016-2017 Intel Corporation
   1072     </li>
   1073   </ul>
   1074 </div>
   1075 </body>
   1076 </html>
   1077