• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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: member</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_member_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="#func-members">Functions</a>  </div>
66  <div class="headertitle">
67<div class="title">member<div class="ingroups"><a class="el" href="group___epid_module.html">epid&amp;nbsp;</a></div></div>  </div>
68</div><!--header-->
69<div class="contents">
70
71<p>Member functionality.
72<a href="#details">More...</a></p>
73<table class="memberdecls">
74<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
75Modules</h2></td></tr>
76<tr class="memitem:group___tpm2_module"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___tpm2_module.html">tpm2</a></td></tr>
77<tr class="memdesc:group___tpm2_module"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal interface that models TPM 2.0 interfaces. <br /></td></tr>
78<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
79</table><table class="memberdecls">
80<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
81Data Structures</h2></td></tr>
82<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_member_params.html">MemberParams</a></td></tr>
83<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Software only specific member parameters.  <a href="struct_member_params.html#details">More...</a><br /></td></tr>
84<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
85</table><table class="memberdecls">
86<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
87Functions</h2></td></tr>
88<tr class="memitem:gae7a7b01bc0a84c44c9d14e6c311c1ba7"><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_member_module.html#gae7a7b01bc0a84c44c9d14e6c311c1ba7">EpidMemberCreate</a> (<a class="el" href="struct_member_params.html">MemberParams</a> const *params, <a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> **ctx)</td></tr>
89<tr class="memdesc:gae7a7b01bc0a84c44c9d14e6c311c1ba7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates and initializes a new member context.  <a href="#gae7a7b01bc0a84c44c9d14e6c311c1ba7">More...</a><br /></td></tr>
90<tr class="separator:gae7a7b01bc0a84c44c9d14e6c311c1ba7"><td class="memSeparator" colspan="2">&#160;</td></tr>
91<tr class="memitem:ga2b3c0cc1d8d4e50190ca94656fa36e24"><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_member_module.html#ga2b3c0cc1d8d4e50190ca94656fa36e24">EpidMemberGetSize</a> (<a class="el" href="struct_member_params.html">MemberParams</a> const *params, size_t *context_size)</td></tr>
92<tr class="memdesc:ga2b3c0cc1d8d4e50190ca94656fa36e24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the size in bytes required for a member context.  <a href="#ga2b3c0cc1d8d4e50190ca94656fa36e24">More...</a><br /></td></tr>
93<tr class="separator:ga2b3c0cc1d8d4e50190ca94656fa36e24"><td class="memSeparator" colspan="2">&#160;</td></tr>
94<tr class="memitem:ga35273b8e75d51e312f0d2fd3aa094efb"><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_member_module.html#ga35273b8e75d51e312f0d2fd3aa094efb">EpidMemberInit</a> (<a class="el" href="struct_member_params.html">MemberParams</a> const *params, <a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> *ctx)</td></tr>
95<tr class="memdesc:ga35273b8e75d51e312f0d2fd3aa094efb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a new member context.  <a href="#ga35273b8e75d51e312f0d2fd3aa094efb">More...</a><br /></td></tr>
96<tr class="separator:ga35273b8e75d51e312f0d2fd3aa094efb"><td class="memSeparator" colspan="2">&#160;</td></tr>
97<tr class="memitem:gac10008d8c9ba7bc5e5be899ed03c61c3"><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_member_module.html#gac10008d8c9ba7bc5e5be899ed03c61c3">EpidCreateJoinRequest</a> (<a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> *ctx, <a class="el" href="struct_group_pub_key.html">GroupPubKey</a> const *pub_key, <a class="el" href="group___epid_types.html#ga55eb2193045bde31af3f551565126042">IssuerNonce</a> const *ni, <a class="el" href="struct_join_request.html">JoinRequest</a> *join_request)</td></tr>
98<tr class="memdesc:gac10008d8c9ba7bc5e5be899ed03c61c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a request to join a group.  <a href="#gac10008d8c9ba7bc5e5be899ed03c61c3">More...</a><br /></td></tr>
99<tr class="separator:gac10008d8c9ba7bc5e5be899ed03c61c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
100<tr class="memitem:ga788ebc9d1ba6153c637b762484ca1140"><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_member_module.html#ga788ebc9d1ba6153c637b762484ca1140">EpidProvisionCredential</a> (<a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> *ctx, <a class="el" href="struct_group_pub_key.html">GroupPubKey</a> const *pub_key, <a class="el" href="struct_membership_credential.html">MembershipCredential</a> const *credential, <a class="el" href="struct_member_precomp.html">MemberPrecomp</a> const *precomp_str)</td></tr>
101<tr class="memdesc:ga788ebc9d1ba6153c637b762484ca1140"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provisions a member context from a membership credential.  <a href="#ga788ebc9d1ba6153c637b762484ca1140">More...</a><br /></td></tr>
102<tr class="separator:ga788ebc9d1ba6153c637b762484ca1140"><td class="memSeparator" colspan="2">&#160;</td></tr>
103<tr class="memitem:ga76cddb8e20afc43de2c30d5e4addb2ea"><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_member_module.html#ga76cddb8e20afc43de2c30d5e4addb2ea">EpidProvisionCompressed</a> (<a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> *ctx, <a class="el" href="struct_group_pub_key.html">GroupPubKey</a> const *pub_key, <a class="el" href="struct_compressed_priv_key.html">CompressedPrivKey</a> const *compressed_privkey, <a class="el" href="struct_member_precomp.html">MemberPrecomp</a> const *precomp_str)</td></tr>
104<tr class="memdesc:ga76cddb8e20afc43de2c30d5e4addb2ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provisions a member context from a compressed private key.  <a href="#ga76cddb8e20afc43de2c30d5e4addb2ea">More...</a><br /></td></tr>
105<tr class="separator:ga76cddb8e20afc43de2c30d5e4addb2ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
106<tr class="memitem:ga07094399c1e040b95ae3e58a74e7c302"><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_member_module.html#ga07094399c1e040b95ae3e58a74e7c302">EpidProvisionKey</a> (<a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> *ctx, <a class="el" href="struct_group_pub_key.html">GroupPubKey</a> const *pub_key, <a class="el" href="struct_priv_key.html">PrivKey</a> const *priv_key, <a class="el" href="struct_member_precomp.html">MemberPrecomp</a> const *precomp_str)</td></tr>
107<tr class="memdesc:ga07094399c1e040b95ae3e58a74e7c302"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provisions a member context from a private key.  <a href="#ga07094399c1e040b95ae3e58a74e7c302">More...</a><br /></td></tr>
108<tr class="separator:ga07094399c1e040b95ae3e58a74e7c302"><td class="memSeparator" colspan="2">&#160;</td></tr>
109<tr class="memitem:gaa2c85b1f0ea17a11ac5d297b21aa30f6"><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_member_module.html#gaa2c85b1f0ea17a11ac5d297b21aa30f6">EpidMemberStartup</a> (<a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> *ctx)</td></tr>
110<tr class="memdesc:gaa2c85b1f0ea17a11ac5d297b21aa30f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Change member from setup state to normal operation.  <a href="#gaa2c85b1f0ea17a11ac5d297b21aa30f6">More...</a><br /></td></tr>
111<tr class="separator:gaa2c85b1f0ea17a11ac5d297b21aa30f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
112<tr class="memitem:ga98b4d990a885339b83cd0513fedcc76d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid_member_module.html#ga98b4d990a885339b83cd0513fedcc76d">EpidMemberDeinit</a> (<a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> *ctx)</td></tr>
113<tr class="memdesc:ga98b4d990a885339b83cd0513fedcc76d"><td class="mdescLeft">&#160;</td><td class="mdescRight">De-initializes an existing member context buffer.  <a href="#ga98b4d990a885339b83cd0513fedcc76d">More...</a><br /></td></tr>
114<tr class="separator:ga98b4d990a885339b83cd0513fedcc76d"><td class="memSeparator" colspan="2">&#160;</td></tr>
115<tr class="memitem:ga3824589c683c5e0e59d483462fce65d6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid_member_module.html#ga3824589c683c5e0e59d483462fce65d6">EpidMemberDelete</a> (<a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> **ctx)</td></tr>
116<tr class="memdesc:ga3824589c683c5e0e59d483462fce65d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deletes an existing member context.  <a href="#ga3824589c683c5e0e59d483462fce65d6">More...</a><br /></td></tr>
117<tr class="separator:ga3824589c683c5e0e59d483462fce65d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
118<tr class="memitem:ga9998eb454838ff5d232ff22ecbab31bf"><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_member_module.html#ga9998eb454838ff5d232ff22ecbab31bf">EpidMemberSetHashAlg</a> (<a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> *ctx, <a class="el" href="group___epid_types.html#ga5e450438f6f9a5eacd0cf5ce354ec890">HashAlg</a> hash_alg)</td></tr>
119<tr class="memdesc:ga9998eb454838ff5d232ff22ecbab31bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the hash algorithm to be used by a member.  <a href="#ga9998eb454838ff5d232ff22ecbab31bf">More...</a><br /></td></tr>
120<tr class="separator:ga9998eb454838ff5d232ff22ecbab31bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
121<tr class="memitem:gaaae6f21f58c22fce58076f10d68159f4"><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_member_module.html#gaaae6f21f58c22fce58076f10d68159f4">EpidMemberSetSigRl</a> (<a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> *ctx, <a class="el" href="struct_sig_rl.html">SigRl</a> const *sig_rl, size_t sig_rl_size)</td></tr>
122<tr class="memdesc:gaaae6f21f58c22fce58076f10d68159f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the signature based revocation list to be used by a member.  <a href="#gaaae6f21f58c22fce58076f10d68159f4">More...</a><br /></td></tr>
123<tr class="separator:gaaae6f21f58c22fce58076f10d68159f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
124<tr class="memitem:ga76e535722467af7c16809b5b521e0000"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid_member_module.html#ga76e535722467af7c16809b5b521e0000">EpidGetSigSize</a> (<a class="el" href="struct_sig_rl.html">SigRl</a> const *sig_rl)</td></tr>
125<tr class="memdesc:ga76e535722467af7c16809b5b521e0000"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the size in bytes required for an Intel(R) EPID signature.  <a href="#ga76e535722467af7c16809b5b521e0000">More...</a><br /></td></tr>
126<tr class="separator:ga76e535722467af7c16809b5b521e0000"><td class="memSeparator" colspan="2">&#160;</td></tr>
127<tr class="memitem:ga74d1409a816cb52633564b793072da5f"><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_member_module.html#ga74d1409a816cb52633564b793072da5f">EpidSign</a> (<a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> const *ctx, void const *msg, size_t msg_len, void const *basename, size_t basename_len, <a class="el" href="struct_epid_signature.html">EpidSignature</a> *sig, size_t sig_len)</td></tr>
128<tr class="memdesc:ga74d1409a816cb52633564b793072da5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes an Intel(R) EPID signature.  <a href="#ga74d1409a816cb52633564b793072da5f">More...</a><br /></td></tr>
129<tr class="separator:ga74d1409a816cb52633564b793072da5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
130<tr class="memitem:ga8c6f097ba89542664375bd5e0f205220"><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_member_module.html#ga8c6f097ba89542664375bd5e0f205220">EpidRegisterBasename</a> (<a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> *ctx, void const *basename, size_t basename_len)</td></tr>
131<tr class="memdesc:ga8c6f097ba89542664375bd5e0f205220"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers a basename with a member.  <a href="#ga8c6f097ba89542664375bd5e0f205220">More...</a><br /></td></tr>
132<tr class="separator:ga8c6f097ba89542664375bd5e0f205220"><td class="memSeparator" colspan="2">&#160;</td></tr>
133<tr class="memitem:ga4f3a464f14581ef3e5a50719cb4709c3"><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_member_module.html#ga4f3a464f14581ef3e5a50719cb4709c3">EpidClearRegisteredBasenames</a> (<a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> *ctx)</td></tr>
134<tr class="memdesc:ga4f3a464f14581ef3e5a50719cb4709c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears registered basenames.  <a href="#ga4f3a464f14581ef3e5a50719cb4709c3">More...</a><br /></td></tr>
135<tr class="separator:ga4f3a464f14581ef3e5a50719cb4709c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
136<tr class="memitem:gacb0547ec085a9ed324d323416bce4a78"><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_member_module.html#gacb0547ec085a9ed324d323416bce4a78">EpidAddPreSigs</a> (<a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> *ctx, size_t number_presigs)</td></tr>
137<tr class="memdesc:gacb0547ec085a9ed324d323416bce4a78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extends the member's pool of pre-computed signatures.  <a href="#gacb0547ec085a9ed324d323416bce4a78">More...</a><br /></td></tr>
138<tr class="separator:gacb0547ec085a9ed324d323416bce4a78"><td class="memSeparator" colspan="2">&#160;</td></tr>
139<tr class="memitem:gad78ca056dfea2565bbacd5734d9dc075"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___epid_member_module.html#gad78ca056dfea2565bbacd5734d9dc075">EpidGetNumPreSigs</a> (<a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> const *ctx)</td></tr>
140<tr class="memdesc:gad78ca056dfea2565bbacd5734d9dc075"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the number of pre-computed signatures in the member's pool.  <a href="#gad78ca056dfea2565bbacd5734d9dc075">More...</a><br /></td></tr>
141<tr class="separator:gad78ca056dfea2565bbacd5734d9dc075"><td class="memSeparator" colspan="2">&#160;</td></tr>
142<tr class="memitem:gaf8cd05388f017486f14da2ee48d067ef"><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_member_module.html#gaf8cd05388f017486f14da2ee48d067ef">EpidDecompressPrivKey</a> (<a class="el" href="struct_group_pub_key.html">GroupPubKey</a> const *pub_key, <a class="el" href="struct_compressed_priv_key.html">CompressedPrivKey</a> const *compressed_privkey, <a class="el" href="struct_priv_key.html">PrivKey</a> *priv_key)</td></tr>
143<tr class="memdesc:gaf8cd05388f017486f14da2ee48d067ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decompresses compressed member private key.  <a href="#gaf8cd05388f017486f14da2ee48d067ef">More...</a><br /></td></tr>
144<tr class="separator:gaf8cd05388f017486f14da2ee48d067ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
145</table>
146<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
147<p>Member functionality. </p>
148<p>Defines the APIs needed by Intel(R) EPID members. Each member context (<a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817" title="Internal context of member. ">MemberCtx</a>) represents membership in a single group.</p>
149<p>To use this module, include the header <a class="el" href="member_2api_8h.html" title="Intel(R) EPID SDK member API. ">epid/member/api.h</a>. </p>
150<h2 class="groupheader">Function Documentation</h2>
151<a id="gacb0547ec085a9ed324d323416bce4a78"></a>
152<h2 class="memtitle"><span class="permalink"><a href="#gacb0547ec085a9ed324d323416bce4a78">&#9670;&nbsp;</a></span>EpidAddPreSigs()</h2>
153
154<div class="memitem">
155<div class="memproto">
156      <table class="memname">
157        <tr>
158          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidAddPreSigs </td>
159          <td>(</td>
160          <td class="paramtype"><a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> *&#160;</td>
161          <td class="paramname"><em>ctx</em>, </td>
162        </tr>
163        <tr>
164          <td class="paramkey"></td>
165          <td></td>
166          <td class="paramtype">size_t&#160;</td>
167          <td class="paramname"><em>number_presigs</em>&#160;</td>
168        </tr>
169        <tr>
170          <td></td>
171          <td>)</td>
172          <td></td><td></td>
173        </tr>
174      </table>
175</div><div class="memdoc">
176
177<p>Extends the member's pool of pre-computed signatures. </p>
178<p>Generate new pre-computed signatures and add them to the internal pool.</p>
179<dl class="params"><dt>Parameters</dt><dd>
180  <table class="params">
181    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>The member context. </td></tr>
182    <tr><td class="paramdir">[in]</td><td class="paramname">number_presigs</td><td>The number of pre-computed signatures to add to the internal pool.</td></tr>
183  </table>
184  </dd>
185</dl>
186<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>
187<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___epid_member_module.html#ga35273b8e75d51e312f0d2fd3aa094efb" title="Initializes a new member context. ">EpidMemberInit</a> </dd></dl>
188
189</div>
190</div>
191<a id="ga4f3a464f14581ef3e5a50719cb4709c3"></a>
192<h2 class="memtitle"><span class="permalink"><a href="#ga4f3a464f14581ef3e5a50719cb4709c3">&#9670;&nbsp;</a></span>EpidClearRegisteredBasenames()</h2>
193
194<div class="memitem">
195<div class="memproto">
196      <table class="memname">
197        <tr>
198          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidClearRegisteredBasenames </td>
199          <td>(</td>
200          <td class="paramtype"><a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> *&#160;</td>
201          <td class="paramname"><em>ctx</em></td><td>)</td>
202          <td></td>
203        </tr>
204      </table>
205</div><div class="memdoc">
206
207<p>Clears registered basenames. </p>
208<p>Allows clearing registered basenames without recreating member.</p>
209<dl class="params"><dt>Parameters</dt><dd>
210  <table class="params">
211    <tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The member context.</td></tr>
212  </table>
213  </dd>
214</dl>
215<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>
216<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___epid_member_module.html#ga8c6f097ba89542664375bd5e0f205220" title="Registers a basename with a member. ">EpidRegisterBasename</a> </dd></dl>
217
218</div>
219</div>
220<a id="gac10008d8c9ba7bc5e5be899ed03c61c3"></a>
221<h2 class="memtitle"><span class="permalink"><a href="#gac10008d8c9ba7bc5e5be899ed03c61c3">&#9670;&nbsp;</a></span>EpidCreateJoinRequest()</h2>
222
223<div class="memitem">
224<div class="memproto">
225      <table class="memname">
226        <tr>
227          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidCreateJoinRequest </td>
228          <td>(</td>
229          <td class="paramtype"><a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> *&#160;</td>
230          <td class="paramname"><em>ctx</em>, </td>
231        </tr>
232        <tr>
233          <td class="paramkey"></td>
234          <td></td>
235          <td class="paramtype"><a class="el" href="struct_group_pub_key.html">GroupPubKey</a> const *&#160;</td>
236          <td class="paramname"><em>pub_key</em>, </td>
237        </tr>
238        <tr>
239          <td class="paramkey"></td>
240          <td></td>
241          <td class="paramtype"><a class="el" href="group___epid_types.html#ga55eb2193045bde31af3f551565126042">IssuerNonce</a> const *&#160;</td>
242          <td class="paramname"><em>ni</em>, </td>
243        </tr>
244        <tr>
245          <td class="paramkey"></td>
246          <td></td>
247          <td class="paramtype"><a class="el" href="struct_join_request.html">JoinRequest</a> *&#160;</td>
248          <td class="paramname"><em>join_request</em>&#160;</td>
249        </tr>
250        <tr>
251          <td></td>
252          <td>)</td>
253          <td></td><td></td>
254        </tr>
255      </table>
256</div><div class="memdoc">
257
258<p>Creates a request to join a group. </p>
259<p>The created request is part of the interaction with an issuer needed to join a group. This interaction with the issuer is outside the scope of this API.</p>
260<dl class="params"><dt>Parameters</dt><dd>
261  <table class="params">
262    <tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The member context. </td></tr>
263    <tr><td class="paramdir">[in]</td><td class="paramname">pub_key</td><td>The group certificate of group to join. </td></tr>
264    <tr><td class="paramdir">[in]</td><td class="paramname">ni</td><td>The nonce chosen by issuer as part of join protocol. </td></tr>
265    <tr><td class="paramdir">[out]</td><td class="paramname">join_request</td><td>The join request.</td></tr>
266  </table>
267  </dd>
268</dl>
269<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>
270
271</div>
272</div>
273<a id="gaf8cd05388f017486f14da2ee48d067ef"></a>
274<h2 class="memtitle"><span class="permalink"><a href="#gaf8cd05388f017486f14da2ee48d067ef">&#9670;&nbsp;</a></span>EpidDecompressPrivKey()</h2>
275
276<div class="memitem">
277<div class="memproto">
278      <table class="memname">
279        <tr>
280          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidDecompressPrivKey </td>
281          <td>(</td>
282          <td class="paramtype"><a class="el" href="struct_group_pub_key.html">GroupPubKey</a> const *&#160;</td>
283          <td class="paramname"><em>pub_key</em>, </td>
284        </tr>
285        <tr>
286          <td class="paramkey"></td>
287          <td></td>
288          <td class="paramtype"><a class="el" href="struct_compressed_priv_key.html">CompressedPrivKey</a> const *&#160;</td>
289          <td class="paramname"><em>compressed_privkey</em>, </td>
290        </tr>
291        <tr>
292          <td class="paramkey"></td>
293          <td></td>
294          <td class="paramtype"><a class="el" href="struct_priv_key.html">PrivKey</a> *&#160;</td>
295          <td class="paramname"><em>priv_key</em>&#160;</td>
296        </tr>
297        <tr>
298          <td></td>
299          <td>)</td>
300          <td></td><td></td>
301        </tr>
302      </table>
303</div><div class="memdoc">
304
305<p>Decompresses compressed member private key. </p>
306<p>Converts a compressed member private key into a member private key for use by other member APIs.</p>
307<dl class="params"><dt>Parameters</dt><dd>
308  <table class="params">
309    <tr><td class="paramdir">[in]</td><td class="paramname">pub_key</td><td>The public key of the group. </td></tr>
310    <tr><td class="paramdir">[in]</td><td class="paramname">compressed_privkey</td><td>The compressed member private key to be decompressed. </td></tr>
311    <tr><td class="paramdir">[out]</td><td class="paramname">priv_key</td><td>The member private key.</td></tr>
312  </table>
313  </dd>
314</dl>
315<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>
316<p><b>Example</b> </p>
317<p><a class="el" href="_user_manual__generating_an_intel_epid_signature.html">Generating an Intel&reg; EPID Signature</a> </p>
318
319</div>
320</div>
321<a id="gad78ca056dfea2565bbacd5734d9dc075"></a>
322<h2 class="memtitle"><span class="permalink"><a href="#gad78ca056dfea2565bbacd5734d9dc075">&#9670;&nbsp;</a></span>EpidGetNumPreSigs()</h2>
323
324<div class="memitem">
325<div class="memproto">
326      <table class="memname">
327        <tr>
328          <td class="memname">size_t EpidGetNumPreSigs </td>
329          <td>(</td>
330          <td class="paramtype"><a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> const *&#160;</td>
331          <td class="paramname"><em>ctx</em></td><td>)</td>
332          <td></td>
333        </tr>
334      </table>
335</div><div class="memdoc">
336
337<p>Gets the number of pre-computed signatures in the member's pool. </p>
338<dl class="params"><dt>Parameters</dt><dd>
339  <table class="params">
340    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>The member context.</td></tr>
341  </table>
342  </dd>
343</dl>
344<dl class="section return"><dt>Returns</dt><dd>Number of remaining pre-computed signatures. Returns 0 if ctx is NULL.</dd></dl>
345<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___epid_member_module.html#ga35273b8e75d51e312f0d2fd3aa094efb" title="Initializes a new member context. ">EpidMemberInit</a> </dd></dl>
346
347</div>
348</div>
349<a id="ga76e535722467af7c16809b5b521e0000"></a>
350<h2 class="memtitle"><span class="permalink"><a href="#ga76e535722467af7c16809b5b521e0000">&#9670;&nbsp;</a></span>EpidGetSigSize()</h2>
351
352<div class="memitem">
353<div class="memproto">
354      <table class="memname">
355        <tr>
356          <td class="memname">size_t EpidGetSigSize </td>
357          <td>(</td>
358          <td class="paramtype"><a class="el" href="struct_sig_rl.html">SigRl</a> const *&#160;</td>
359          <td class="paramname"><em>sig_rl</em></td><td>)</td>
360          <td></td>
361        </tr>
362      </table>
363</div><div class="memdoc">
364
365<p>Computes the size in bytes required for an Intel(R) EPID signature. </p>
366<dl class="params"><dt>Parameters</dt><dd>
367  <table class="params">
368    <tr><td class="paramdir">[in]</td><td class="paramname">sig_rl</td><td>The signature based revocation list that is used. NULL is treated as a zero length list.</td></tr>
369  </table>
370  </dd>
371</dl>
372<dl class="section return"><dt>Returns</dt><dd>Size in bytes of an Intel(R) EPID signature including proofs for each entry in the signature based revocation list.</dd></dl>
373<dl class="section see"><dt>See also</dt><dd><a class="el" href="struct_sig_rl.html" title="signature based revocation list ">SigRl</a></dd></dl>
374<p><b>Example</b> </p>
375<p><a class="el" href="_user_manual__generating_an_intel_epid_signature.html">Generating an Intel&reg; EPID Signature</a> </p>
376
377</div>
378</div>
379<a id="gae7a7b01bc0a84c44c9d14e6c311c1ba7"></a>
380<h2 class="memtitle"><span class="permalink"><a href="#gae7a7b01bc0a84c44c9d14e6c311c1ba7">&#9670;&nbsp;</a></span>EpidMemberCreate()</h2>
381
382<div class="memitem">
383<div class="memproto">
384      <table class="memname">
385        <tr>
386          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidMemberCreate </td>
387          <td>(</td>
388          <td class="paramtype"><a class="el" href="struct_member_params.html">MemberParams</a> const *&#160;</td>
389          <td class="paramname"><em>params</em>, </td>
390        </tr>
391        <tr>
392          <td class="paramkey"></td>
393          <td></td>
394          <td class="paramtype"><a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> **&#160;</td>
395          <td class="paramname"><em>ctx</em>&#160;</td>
396        </tr>
397        <tr>
398          <td></td>
399          <td>)</td>
400          <td></td><td></td>
401        </tr>
402      </table>
403</div><div class="memdoc">
404
405<p>Allocates and initializes a new member context. </p>
406<dl class="params"><dt>Parameters</dt><dd>
407  <table class="params">
408    <tr><td class="paramdir">[in]</td><td class="paramname">params</td><td>Implementation specific configuration parameters. </td></tr>
409    <tr><td class="paramdir">[out]</td><td class="paramname">ctx</td><td>Newly constructed member context.</td></tr>
410  </table>
411  </dd>
412</dl>
413<dl class="section warning"><dt>Warning</dt><dd>buffers allocated using this function should not be initialized with <a class="el" href="group___epid_member_module.html#ga35273b8e75d51e312f0d2fd3aa094efb" title="Initializes a new member context. ">EpidMemberInit</a>.</dd></dl>
414<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>This API has been superseded by <a class="el" href="group___epid_member_module.html#ga2b3c0cc1d8d4e50190ca94656fa36e24" title="Computes the size in bytes required for a member context. ">EpidMemberGetSize</a> and <a class="el" href="group___epid_member_module.html#ga35273b8e75d51e312f0d2fd3aa094efb" title="Initializes a new member context. ">EpidMemberInit</a>.</dd></dl>
415<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>
416
417</div>
418</div>
419<a id="ga98b4d990a885339b83cd0513fedcc76d"></a>
420<h2 class="memtitle"><span class="permalink"><a href="#ga98b4d990a885339b83cd0513fedcc76d">&#9670;&nbsp;</a></span>EpidMemberDeinit()</h2>
421
422<div class="memitem">
423<div class="memproto">
424      <table class="memname">
425        <tr>
426          <td class="memname">void EpidMemberDeinit </td>
427          <td>(</td>
428          <td class="paramtype"><a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> *&#160;</td>
429          <td class="paramname"><em>ctx</em></td><td>)</td>
430          <td></td>
431        </tr>
432      </table>
433</div><div class="memdoc">
434
435<p>De-initializes an existing member context buffer. </p>
436<p>Must be called to safely release a member context initialized using <a class="el" href="group___epid_member_module.html#ga35273b8e75d51e312f0d2fd3aa094efb" title="Initializes a new member context. ">EpidMemberInit</a>.</p>
437<p>De-initializes the context.</p>
438<dl class="params"><dt>Parameters</dt><dd>
439  <table class="params">
440    <tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The member context. Can be NULL.</td></tr>
441  </table>
442  </dd>
443</dl>
444<dl class="section warning"><dt>Warning</dt><dd>This function should not be used on buffers allocated with <a class="el" href="group___epid_member_module.html#gae7a7b01bc0a84c44c9d14e6c311c1ba7" title="Allocates and initializes a new member context. ">EpidMemberCreate</a>. Those buffers should be released using <a class="el" href="group___epid_member_module.html#ga3824589c683c5e0e59d483462fce65d6" title="Deletes an existing member context. ">EpidMemberDelete</a></dd></dl>
445<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___epid_member_module.html#ga35273b8e75d51e312f0d2fd3aa094efb" title="Initializes a new member context. ">EpidMemberInit</a> </dd></dl>
446
447</div>
448</div>
449<a id="ga3824589c683c5e0e59d483462fce65d6"></a>
450<h2 class="memtitle"><span class="permalink"><a href="#ga3824589c683c5e0e59d483462fce65d6">&#9670;&nbsp;</a></span>EpidMemberDelete()</h2>
451
452<div class="memitem">
453<div class="memproto">
454      <table class="memname">
455        <tr>
456          <td class="memname">void EpidMemberDelete </td>
457          <td>(</td>
458          <td class="paramtype"><a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> **&#160;</td>
459          <td class="paramname"><em>ctx</em></td><td>)</td>
460          <td></td>
461        </tr>
462      </table>
463</div><div class="memdoc">
464
465<p>Deletes an existing member context. </p>
466<p>Must be called to safely release a member context created using <a class="el" href="group___epid_member_module.html#gae7a7b01bc0a84c44c9d14e6c311c1ba7" title="Allocates and initializes a new member context. ">EpidMemberCreate</a>.</p>
467<p>De-initializes the context, frees memory used by the context, and sets the context pointer to NULL.</p>
468<dl class="params"><dt>Parameters</dt><dd>
469  <table class="params">
470    <tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The member context. Can be NULL.</td></tr>
471  </table>
472  </dd>
473</dl>
474<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd>This API has been superseded by <a class="el" href="group___epid_member_module.html#ga98b4d990a885339b83cd0513fedcc76d" title="De-initializes an existing member context buffer. ">EpidMemberDeinit</a>.</dd></dl>
475<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___epid_member_module.html#gae7a7b01bc0a84c44c9d14e6c311c1ba7" title="Allocates and initializes a new member context. ">EpidMemberCreate</a></dd></dl>
476<p><b>Example</b> </p>
477<p><a class="el" href="_user_manual__generating_an_intel_epid_signature.html">Generating an Intel&reg; EPID Signature</a> </p>
478
479</div>
480</div>
481<a id="ga2b3c0cc1d8d4e50190ca94656fa36e24"></a>
482<h2 class="memtitle"><span class="permalink"><a href="#ga2b3c0cc1d8d4e50190ca94656fa36e24">&#9670;&nbsp;</a></span>EpidMemberGetSize()</h2>
483
484<div class="memitem">
485<div class="memproto">
486      <table class="memname">
487        <tr>
488          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidMemberGetSize </td>
489          <td>(</td>
490          <td class="paramtype"><a class="el" href="struct_member_params.html">MemberParams</a> const *&#160;</td>
491          <td class="paramname"><em>params</em>, </td>
492        </tr>
493        <tr>
494          <td class="paramkey"></td>
495          <td></td>
496          <td class="paramtype">size_t *&#160;</td>
497          <td class="paramname"><em>context_size</em>&#160;</td>
498        </tr>
499        <tr>
500          <td></td>
501          <td>)</td>
502          <td></td><td></td>
503        </tr>
504      </table>
505</div><div class="memdoc">
506
507<p>Computes the size in bytes required for a member context. </p>
508<dl class="params"><dt>Parameters</dt><dd>
509  <table class="params">
510    <tr><td class="paramdir">[in]</td><td class="paramname">params</td><td>Implementation specific configuration parameters. </td></tr>
511    <tr><td class="paramdir">[out]</td><td class="paramname">context_size</td><td>Number of bytes required for a <a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817" title="Internal context of member. ">MemberCtx</a> buffer</td></tr>
512  </table>
513  </dd>
514</dl>
515<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>
516<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___epid_member_module.html#ga35273b8e75d51e312f0d2fd3aa094efb" title="Initializes a new member context. ">EpidMemberInit</a> </dd></dl>
517
518</div>
519</div>
520<a id="ga35273b8e75d51e312f0d2fd3aa094efb"></a>
521<h2 class="memtitle"><span class="permalink"><a href="#ga35273b8e75d51e312f0d2fd3aa094efb">&#9670;&nbsp;</a></span>EpidMemberInit()</h2>
522
523<div class="memitem">
524<div class="memproto">
525      <table class="memname">
526        <tr>
527          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidMemberInit </td>
528          <td>(</td>
529          <td class="paramtype"><a class="el" href="struct_member_params.html">MemberParams</a> const *&#160;</td>
530          <td class="paramname"><em>params</em>, </td>
531        </tr>
532        <tr>
533          <td class="paramkey"></td>
534          <td></td>
535          <td class="paramtype"><a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> *&#160;</td>
536          <td class="paramname"><em>ctx</em>&#160;</td>
537        </tr>
538        <tr>
539          <td></td>
540          <td>)</td>
541          <td></td><td></td>
542        </tr>
543      </table>
544</div><div class="memdoc">
545
546<p>Initializes a new member context. </p>
547<dl class="params"><dt>Parameters</dt><dd>
548  <table class="params">
549    <tr><td class="paramdir">[in]</td><td class="paramname">params</td><td>Implementation specific configuration parameters. </td></tr>
550    <tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>An existing buffer that will be used as a <a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817" title="Internal context of member. ">MemberCtx</a>.</td></tr>
551  </table>
552  </dd>
553</dl>
554<dl class="section warning"><dt>Warning</dt><dd>ctx must be a buffer of at least the size reported by <a class="el" href="group___epid_member_module.html#ga2b3c0cc1d8d4e50190ca94656fa36e24" title="Computes the size in bytes required for a member context. ">EpidMemberGetSize</a> for the same parameters.</dd></dl>
555<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>
556<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___epid_member_module.html#ga2b3c0cc1d8d4e50190ca94656fa36e24" title="Computes the size in bytes required for a member context. ">EpidMemberGetSize</a> </dd></dl>
557
558</div>
559</div>
560<a id="ga9998eb454838ff5d232ff22ecbab31bf"></a>
561<h2 class="memtitle"><span class="permalink"><a href="#ga9998eb454838ff5d232ff22ecbab31bf">&#9670;&nbsp;</a></span>EpidMemberSetHashAlg()</h2>
562
563<div class="memitem">
564<div class="memproto">
565      <table class="memname">
566        <tr>
567          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidMemberSetHashAlg </td>
568          <td>(</td>
569          <td class="paramtype"><a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> *&#160;</td>
570          <td class="paramname"><em>ctx</em>, </td>
571        </tr>
572        <tr>
573          <td class="paramkey"></td>
574          <td></td>
575          <td class="paramtype"><a class="el" href="group___epid_types.html#ga5e450438f6f9a5eacd0cf5ce354ec890">HashAlg</a>&#160;</td>
576          <td class="paramname"><em>hash_alg</em>&#160;</td>
577        </tr>
578        <tr>
579          <td></td>
580          <td>)</td>
581          <td></td><td></td>
582        </tr>
583      </table>
584</div><div class="memdoc">
585
586<p>Sets the hash algorithm to be used by a member. </p>
587<dl class="params"><dt>Parameters</dt><dd>
588  <table class="params">
589    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>The member context. </td></tr>
590    <tr><td class="paramdir">[in]</td><td class="paramname">hash_alg</td><td>The hash algorithm to use.</td></tr>
591  </table>
592  </dd>
593</dl>
594<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>
595<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 member is undefined.</dd></dl>
596<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___epid_member_module.html#ga35273b8e75d51e312f0d2fd3aa094efb" title="Initializes a new member context. ">EpidMemberInit</a> </dd>
597<dd>
598<a class="el" href="group___epid_types.html#ga5e450438f6f9a5eacd0cf5ce354ec890" title="Recognized hash algorithms. ">HashAlg</a></dd></dl>
599<p><b>Example</b> </p>
600<p><a class="el" href="_user_manual__generating_an_intel_epid_signature.html">Generating an Intel&reg; EPID Signature</a> </p>
601
602</div>
603</div>
604<a id="gaaae6f21f58c22fce58076f10d68159f4"></a>
605<h2 class="memtitle"><span class="permalink"><a href="#gaaae6f21f58c22fce58076f10d68159f4">&#9670;&nbsp;</a></span>EpidMemberSetSigRl()</h2>
606
607<div class="memitem">
608<div class="memproto">
609      <table class="memname">
610        <tr>
611          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidMemberSetSigRl </td>
612          <td>(</td>
613          <td class="paramtype"><a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> *&#160;</td>
614          <td class="paramname"><em>ctx</em>, </td>
615        </tr>
616        <tr>
617          <td class="paramkey"></td>
618          <td></td>
619          <td class="paramtype"><a class="el" href="struct_sig_rl.html">SigRl</a> const *&#160;</td>
620          <td class="paramname"><em>sig_rl</em>, </td>
621        </tr>
622        <tr>
623          <td class="paramkey"></td>
624          <td></td>
625          <td class="paramtype">size_t&#160;</td>
626          <td class="paramname"><em>sig_rl_size</em>&#160;</td>
627        </tr>
628        <tr>
629          <td></td>
630          <td>)</td>
631          <td></td><td></td>
632        </tr>
633      </table>
634</div><div class="memdoc">
635
636<p>Sets the signature based revocation list to be used by a member. </p>
637<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>
638<dl class="section attention"><dt>Attention</dt><dd>The memory pointed to by sig_rl is accessed directly by the member until a new list is set or the member 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>
639<dd>
640It is the responsibility of the caller to free the memory pointed to by sig_rl after the member is no longer using it.</dd></dl>
641<dl class="params"><dt>Parameters</dt><dd>
642  <table class="params">
643    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>The member context. </td></tr>
644    <tr><td class="paramdir">[in]</td><td class="paramname">sig_rl</td><td>The signature based revocation list. </td></tr>
645    <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>
646  </table>
647  </dd>
648</dl>
649<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>
650<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 member is not changed.</dd></dl>
651<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___epid_member_module.html#ga35273b8e75d51e312f0d2fd3aa094efb" title="Initializes a new member context. ">EpidMemberInit</a></dd></dl>
652<p><b>Example</b> </p>
653<p><a class="el" href="_user_manual__generating_an_intel_epid_signature.html">Generating an Intel&reg; EPID Signature</a> </p>
654
655</div>
656</div>
657<a id="gaa2c85b1f0ea17a11ac5d297b21aa30f6"></a>
658<h2 class="memtitle"><span class="permalink"><a href="#gaa2c85b1f0ea17a11ac5d297b21aa30f6">&#9670;&nbsp;</a></span>EpidMemberStartup()</h2>
659
660<div class="memitem">
661<div class="memproto">
662      <table class="memname">
663        <tr>
664          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidMemberStartup </td>
665          <td>(</td>
666          <td class="paramtype"><a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> *&#160;</td>
667          <td class="paramname"><em>ctx</em></td><td>)</td>
668          <td></td>
669        </tr>
670      </table>
671</div><div class="memdoc">
672
673<p>Change member from setup state to normal operation. </p>
674<dl class="params"><dt>Parameters</dt><dd>
675  <table class="params">
676    <tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The member context.</td></tr>
677  </table>
678  </dd>
679</dl>
680<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>
681
682</div>
683</div>
684<a id="ga76cddb8e20afc43de2c30d5e4addb2ea"></a>
685<h2 class="memtitle"><span class="permalink"><a href="#ga76cddb8e20afc43de2c30d5e4addb2ea">&#9670;&nbsp;</a></span>EpidProvisionCompressed()</h2>
686
687<div class="memitem">
688<div class="memproto">
689      <table class="memname">
690        <tr>
691          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidProvisionCompressed </td>
692          <td>(</td>
693          <td class="paramtype"><a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> *&#160;</td>
694          <td class="paramname"><em>ctx</em>, </td>
695        </tr>
696        <tr>
697          <td class="paramkey"></td>
698          <td></td>
699          <td class="paramtype"><a class="el" href="struct_group_pub_key.html">GroupPubKey</a> const *&#160;</td>
700          <td class="paramname"><em>pub_key</em>, </td>
701        </tr>
702        <tr>
703          <td class="paramkey"></td>
704          <td></td>
705          <td class="paramtype"><a class="el" href="struct_compressed_priv_key.html">CompressedPrivKey</a> const *&#160;</td>
706          <td class="paramname"><em>compressed_privkey</em>, </td>
707        </tr>
708        <tr>
709          <td class="paramkey"></td>
710          <td></td>
711          <td class="paramtype"><a class="el" href="struct_member_precomp.html">MemberPrecomp</a> const *&#160;</td>
712          <td class="paramname"><em>precomp_str</em>&#160;</td>
713        </tr>
714        <tr>
715          <td></td>
716          <td>)</td>
717          <td></td><td></td>
718        </tr>
719      </table>
720</div><div class="memdoc">
721
722<p>Provisions a member context from a compressed private key. </p>
723<dl class="params"><dt>Parameters</dt><dd>
724  <table class="params">
725    <tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The member context. </td></tr>
726    <tr><td class="paramdir">[in]</td><td class="paramname">pub_key</td><td>The group certificate of group to provision. </td></tr>
727    <tr><td class="paramdir">[in]</td><td class="paramname">compressed_privkey</td><td>private key. </td></tr>
728    <tr><td class="paramdir">[in]</td><td class="paramname">precomp_str</td><td>Precomputed state (implementation specific optional)</td></tr>
729  </table>
730  </dd>
731</dl>
732<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>
733
734</div>
735</div>
736<a id="ga788ebc9d1ba6153c637b762484ca1140"></a>
737<h2 class="memtitle"><span class="permalink"><a href="#ga788ebc9d1ba6153c637b762484ca1140">&#9670;&nbsp;</a></span>EpidProvisionCredential()</h2>
738
739<div class="memitem">
740<div class="memproto">
741      <table class="memname">
742        <tr>
743          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidProvisionCredential </td>
744          <td>(</td>
745          <td class="paramtype"><a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> *&#160;</td>
746          <td class="paramname"><em>ctx</em>, </td>
747        </tr>
748        <tr>
749          <td class="paramkey"></td>
750          <td></td>
751          <td class="paramtype"><a class="el" href="struct_group_pub_key.html">GroupPubKey</a> const *&#160;</td>
752          <td class="paramname"><em>pub_key</em>, </td>
753        </tr>
754        <tr>
755          <td class="paramkey"></td>
756          <td></td>
757          <td class="paramtype"><a class="el" href="struct_membership_credential.html">MembershipCredential</a> const *&#160;</td>
758          <td class="paramname"><em>credential</em>, </td>
759        </tr>
760        <tr>
761          <td class="paramkey"></td>
762          <td></td>
763          <td class="paramtype"><a class="el" href="struct_member_precomp.html">MemberPrecomp</a> const *&#160;</td>
764          <td class="paramname"><em>precomp_str</em>&#160;</td>
765        </tr>
766        <tr>
767          <td></td>
768          <td>)</td>
769          <td></td><td></td>
770        </tr>
771      </table>
772</div><div class="memdoc">
773
774<p>Provisions a member context from a membership credential. </p>
775<dl class="params"><dt>Parameters</dt><dd>
776  <table class="params">
777    <tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The member context. </td></tr>
778    <tr><td class="paramdir">[in]</td><td class="paramname">pub_key</td><td>The group certificate of group to provision. </td></tr>
779    <tr><td class="paramdir">[in]</td><td class="paramname">credential</td><td>membership credential. </td></tr>
780    <tr><td class="paramdir">[in]</td><td class="paramname">precomp_str</td><td>Precomputed state (implementation specific optional)</td></tr>
781  </table>
782  </dd>
783</dl>
784<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>
785
786</div>
787</div>
788<a id="ga07094399c1e040b95ae3e58a74e7c302"></a>
789<h2 class="memtitle"><span class="permalink"><a href="#ga07094399c1e040b95ae3e58a74e7c302">&#9670;&nbsp;</a></span>EpidProvisionKey()</h2>
790
791<div class="memitem">
792<div class="memproto">
793      <table class="memname">
794        <tr>
795          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidProvisionKey </td>
796          <td>(</td>
797          <td class="paramtype"><a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> *&#160;</td>
798          <td class="paramname"><em>ctx</em>, </td>
799        </tr>
800        <tr>
801          <td class="paramkey"></td>
802          <td></td>
803          <td class="paramtype"><a class="el" href="struct_group_pub_key.html">GroupPubKey</a> const *&#160;</td>
804          <td class="paramname"><em>pub_key</em>, </td>
805        </tr>
806        <tr>
807          <td class="paramkey"></td>
808          <td></td>
809          <td class="paramtype"><a class="el" href="struct_priv_key.html">PrivKey</a> const *&#160;</td>
810          <td class="paramname"><em>priv_key</em>, </td>
811        </tr>
812        <tr>
813          <td class="paramkey"></td>
814          <td></td>
815          <td class="paramtype"><a class="el" href="struct_member_precomp.html">MemberPrecomp</a> const *&#160;</td>
816          <td class="paramname"><em>precomp_str</em>&#160;</td>
817        </tr>
818        <tr>
819          <td></td>
820          <td>)</td>
821          <td></td><td></td>
822        </tr>
823      </table>
824</div><div class="memdoc">
825
826<p>Provisions a member context from a private key. </p>
827<dl class="params"><dt>Parameters</dt><dd>
828  <table class="params">
829    <tr><td class="paramdir">[in,out]</td><td class="paramname">ctx</td><td>The member context. </td></tr>
830    <tr><td class="paramdir">[in]</td><td class="paramname">pub_key</td><td>The group certificate of group to provision. </td></tr>
831    <tr><td class="paramdir">[in]</td><td class="paramname">priv_key</td><td>private key. </td></tr>
832    <tr><td class="paramdir">[in]</td><td class="paramname">precomp_str</td><td>Precomputed state (implementation specific optional)</td></tr>
833  </table>
834  </dd>
835</dl>
836<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>
837
838</div>
839</div>
840<a id="ga8c6f097ba89542664375bd5e0f205220"></a>
841<h2 class="memtitle"><span class="permalink"><a href="#ga8c6f097ba89542664375bd5e0f205220">&#9670;&nbsp;</a></span>EpidRegisterBasename()</h2>
842
843<div class="memitem">
844<div class="memproto">
845      <table class="memname">
846        <tr>
847          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidRegisterBasename </td>
848          <td>(</td>
849          <td class="paramtype"><a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> *&#160;</td>
850          <td class="paramname"><em>ctx</em>, </td>
851        </tr>
852        <tr>
853          <td class="paramkey"></td>
854          <td></td>
855          <td class="paramtype">void const *&#160;</td>
856          <td class="paramname"><em>basename</em>, </td>
857        </tr>
858        <tr>
859          <td class="paramkey"></td>
860          <td></td>
861          <td class="paramtype">size_t&#160;</td>
862          <td class="paramname"><em>basename_len</em>&#160;</td>
863        </tr>
864        <tr>
865          <td></td>
866          <td>)</td>
867          <td></td><td></td>
868        </tr>
869      </table>
870</div><div class="memdoc">
871
872<p>Registers a basename with a member. </p>
873<p>To prevent loss of privacy, the member keeps a list of basenames (corresponding to authorized verifiers). The member signs a message with a basename only if the basename is in the member's basename list.</p>
874<dl class="section warning"><dt>Warning</dt><dd>The use of a name-based signature creates a platform unique pseudonymous identifier. Because it reduces the member's privacy, the user should be notified when it is used and should have control over its use.</dd></dl>
875<dl class="params"><dt>Parameters</dt><dd>
876  <table class="params">
877    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>The member context. </td></tr>
878    <tr><td class="paramdir">[in]</td><td class="paramname">basename</td><td>The basename. </td></tr>
879    <tr><td class="paramdir">[in]</td><td class="paramname">basename_len</td><td>Length of the basename.</td></tr>
880  </table>
881  </dd>
882</dl>
883<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>
884<dl class="retval"><dt>Return values</dt><dd>
885  <table class="retval">
886    <tr><td class="paramname"><a class="el" href="group___error_codes.html#ggafdb27c77c2c4b32c807e326a8a0da360a3706f895a660260033b5b91890516c0f" title="argument would add duplicate entry ">kEpidDuplicateErr</a></td><td>The basename was already registered.</td></tr>
887  </table>
888  </dd>
889</dl>
890<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 <a class="el" href="group___error_codes.html#ggafdb27c77c2c4b32c807e326a8a0da360a3706f895a660260033b5b91890516c0f" title="argument would add duplicate entry ">kEpidDuplicateErr</a> it is undefined if the basename is registered.</dd></dl>
891<p><b>Example</b> </p>
892<p><a class="el" href="_user_manual__generating_an_intel_epid_signature.html">Generating an Intel&reg; EPID Signature</a> </p>
893
894</div>
895</div>
896<a id="ga74d1409a816cb52633564b793072da5f"></a>
897<h2 class="memtitle"><span class="permalink"><a href="#ga74d1409a816cb52633564b793072da5f">&#9670;&nbsp;</a></span>EpidSign()</h2>
898
899<div class="memitem">
900<div class="memproto">
901      <table class="memname">
902        <tr>
903          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EpidSign </td>
904          <td>(</td>
905          <td class="paramtype"><a class="el" href="member_2api_8h.html#adfb10d5dfdadb0694792c7b06718e817">MemberCtx</a> const *&#160;</td>
906          <td class="paramname"><em>ctx</em>, </td>
907        </tr>
908        <tr>
909          <td class="paramkey"></td>
910          <td></td>
911          <td class="paramtype">void const *&#160;</td>
912          <td class="paramname"><em>msg</em>, </td>
913        </tr>
914        <tr>
915          <td class="paramkey"></td>
916          <td></td>
917          <td class="paramtype">size_t&#160;</td>
918          <td class="paramname"><em>msg_len</em>, </td>
919        </tr>
920        <tr>
921          <td class="paramkey"></td>
922          <td></td>
923          <td class="paramtype">void const *&#160;</td>
924          <td class="paramname"><em>basename</em>, </td>
925        </tr>
926        <tr>
927          <td class="paramkey"></td>
928          <td></td>
929          <td class="paramtype">size_t&#160;</td>
930          <td class="paramname"><em>basename_len</em>, </td>
931        </tr>
932        <tr>
933          <td class="paramkey"></td>
934          <td></td>
935          <td class="paramtype"><a class="el" href="struct_epid_signature.html">EpidSignature</a> *&#160;</td>
936          <td class="paramname"><em>sig</em>, </td>
937        </tr>
938        <tr>
939          <td class="paramkey"></td>
940          <td></td>
941          <td class="paramtype">size_t&#160;</td>
942          <td class="paramname"><em>sig_len</em>&#160;</td>
943        </tr>
944        <tr>
945          <td></td>
946          <td>)</td>
947          <td></td><td></td>
948        </tr>
949      </table>
950</div><div class="memdoc">
951
952<p>Writes an Intel(R) EPID signature. </p>
953<dl class="params"><dt>Parameters</dt><dd>
954  <table class="params">
955    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>The member context. </td></tr>
956    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The message to sign. </td></tr>
957    <tr><td class="paramdir">[in]</td><td class="paramname">msg_len</td><td>The length in bytes of message. </td></tr>
958    <tr><td class="paramdir">[in]</td><td class="paramname">basename</td><td>Optional basename. If basename is NULL a random basename is used. Signatures generated using random basenames are anonymous. Signatures generated using the same basename are linkable by the verifier. If a basename is provided, it must already be registered, or <a class="el" href="group___error_codes.html#ggafdb27c77c2c4b32c807e326a8a0da360ad134d6cc95a9dcb1b1a9f9c358047cbf" title="incorrect arg to function ">kEpidBadArgErr</a> is returned. </td></tr>
959    <tr><td class="paramdir">[in]</td><td class="paramname">basename_len</td><td>The size of basename in bytes. Must be 0 if basename is NULL. </td></tr>
960    <tr><td class="paramdir">[out]</td><td class="paramname">sig</td><td>The generated signature </td></tr>
961    <tr><td class="paramdir">[in]</td><td class="paramname">sig_len</td><td>The size of signature in bytes. Must be equal to value returned by <a class="el" href="group___epid_member_module.html#ga76e535722467af7c16809b5b521e0000" title="Computes the size in bytes required for an Intel(R) EPID signature. ">EpidGetSigSize()</a>.</td></tr>
962  </table>
963  </dd>
964</dl>
965<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>
966<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 sig is undefined.</dd></dl>
967<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___epid_member_module.html#ga35273b8e75d51e312f0d2fd3aa094efb" title="Initializes a new member context. ">EpidMemberInit</a> </dd>
968<dd>
969<a class="el" href="group___epid_member_module.html#ga9998eb454838ff5d232ff22ecbab31bf" title="Sets the hash algorithm to be used by a member. ">EpidMemberSetHashAlg</a> </dd>
970<dd>
971<a class="el" href="group___epid_member_module.html#gaaae6f21f58c22fce58076f10d68159f4" title="Sets the signature based revocation list to be used by a member. ">EpidMemberSetSigRl</a> </dd>
972<dd>
973<a class="el" href="group___epid_member_module.html#ga76e535722467af7c16809b5b521e0000" title="Computes the size in bytes required for an Intel(R) EPID signature. ">EpidGetSigSize</a></dd></dl>
974<p><b>Example</b> </p>
975<p><a class="el" href="_user_manual__generating_an_intel_epid_signature.html">Generating an Intel&reg; EPID Signature</a> </p>
976
977</div>
978</div>
979</div><!-- contents -->
980</div><!-- doc-content -->
981<!-- HTML footer for doxygen 1.8.10-->
982<!-- start footer part -->
983<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
984  <ul>
985    <li class="footer">
986      &copy; 2016-2017 Intel Corporation
987    </li>
988  </ul>
989</div>
990</body>
991</html>
992