aboutsummaryrefslogtreecommitdiff
path: root/doc/html/ChoosingiKGF.html
blob: 42c9de9af12b42a6deb8e643f1432b3fe51e1e9c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
<!-- HTML header for doxygen 1.8.10-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Intel&reg; Enhanced Privacy ID SDK: If You Choose iKGF as Your Issuer</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="epidstyle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname"><a 
                            onclick="storeLink('index.html')"
                            id="projectlink" 
                            class="index.html" 
                            href="index.html">Intel&reg; Enhanced Privacy ID SDK</a>
&#160;<span id="projectnumber">3.0.0</span>
</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('ChoosingiKGF.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">If You Choose iKGF as Your Issuer </div>  </div>
</div><!--header-->
<div class="contents">
<div class="toc"><h3>Table of Contents</h3>
<ul><li class="level1"><a href="#RevocationTools">Tools for Creating Revocation Requests</a><ul><li class="level2"><a href="#RevocationTools_revokegrp">Requesting Group Revocation</a></li>
<li class="level2"><a href="#RevocationTools_revokekey">Requesting Private Key Revocation</a></li>
<li class="level2"><a href="#RevocationTools_revokesig">Requesting Signature Revocation</a></li>
</ul>
</li>
<li class="level1"><a href="#ExtractionTools">Tools for Extracting Keys from iKGF Files</a><ul><li class="level2"><a href="#ExtractionTools_extractgrps">Extracting Group Public Keys</a></li>
<li class="level2"><a href="#ExtractionTools_extractkeys">Extracting Member Private Keys</a></li>
</ul>
</li>
</ul>
</div>
<div class="textblock"><p>To use the Intel&reg; EPID APIs, you need to use the following items that are created by the issuer:</p>
<ul>
<li>Group public key, which corresponds to the issuing private key kept by the issuer</li>
<li>Member private keys</li>
<li>Signature based revocation list (SigRL)</li>
<li>Private key based revocation list (PrivRL)</li>
<li>Group based revocation list (GroupRL)</li>
</ul>
<p>If you want to use the Intel Key Generation Facility (iKGF) as the issuer, contact <a href="#" onclick="location.href='mai'+'lto:'+'inf'+'o@'+'dig'+'it'+'al-'+'cp'+'.co'+'m'; return false;">info@<span style="display: none;">.nosp@m.</span>digi<span style="display: none;">.nosp@m.</span>tal-c<span style="display: none;">.nosp@m.</span>p.co<span style="display: none;">.nosp@m.</span>m</a> to get started.</p>
<p>If you choose to use iKGF as the issuer, you can take advantage of tools included in the SDK that are designed to make it easier for you to interact with iKGF by creating requests to update revocation lists and by extracting member private keys and group public keys from iKGF files.</p>
<h1><a class="anchor" id="RevocationTools"></a>
Tools for Creating Revocation Requests</h1>
<p>The Intel&reg; EPID SDK includes tools to help you request additions to revocation lists managed by iKGF if you are using iKGF as the issuer.</p>
<p>These tools are designed to create a revocation request in the format required by iKGF. In order to update a revocation list, the requests generated by these tools must be submitted to the issuer.</p>
<p>To access the tools, go to <code>_install/epid-sdk/tools</code> in the SDK directory.</p>
<p>You need to build the SDK before you can use these tools. For more information, refer to <a class="el" href="BuildingSdk.html">Building from Source</a>.</p>
<p>The following tools are available:</p>
<table class="doxtable">
<tr>
<th>Tool </th><th>Purpose  </th></tr>
<tr>
<td><code>revokegrp</code> </td><td>Create group revocation request </td></tr>
<tr>
<td><code>revokekey</code> </td><td>Create member private key revocation request </td></tr>
<tr>
<td><code>revokesig</code> </td><td>Create signature revocation request </td></tr>
</table>
<h2><a class="anchor" id="RevocationTools_revokegrp"></a>
Requesting Group Revocation</h2>
<p>The <code>revokegrp</code> tool adds a group to the revocation request file. </p><pre class="fragment">Usage: revokegrp [OPTION]...
Revoke Intel(R) EPID group

Options:
  --gpubkey=FILE
      load group public key from FILE (default: pubkey.bin)

  --capubkey=FILE
      load IoT Issuing CA public key from FILE

  --reason=NUM
      revocation reason (default: 0)

  --req=FILE
      append group revocation request to FILE (default: grprlreq.dat)

  -h, --help
      display this help and exit

  -v, --verbose
      print status messages to stdout
</pre><h2><a class="anchor" id="RevocationTools_revokekey"></a>
Requesting Private Key Revocation</h2>
<p>The <code>revokekey</code> tool adds a member private key to the revocation request file. </p><pre class="fragment">Usage: revokekey [OPTION]
Revoke Intel(R) EPID private key

Options:
    --mprivkey=FILE
        load private key to revoke from FILE (default: mprivkey.dat)

    --req=FILE
        append private key revocation request to FILE (default: privreq.dat)

    -h, --help
        display this help and exit

    -v,--verbose
        print status messages to stdout

The following options are only needed for compressed keys:

    --gpubkey=FILE
        load group public key from FILE (default: pubkey.bin)

    --capubkey=FILE
        load IoT Issuing CA public key from FILE
</pre><h2><a class="anchor" id="RevocationTools_revokesig"></a>
Requesting Signature Revocation</h2>
<p>The <code>revokesig</code> tool creates a request to add a signature to the revocation request file.</p>
<p><code>revokesig</code> only accepts valid signatures for addition to the revocation request. </p><pre class="fragment">Usage: revokesig [OPTION]...
Revoke Intel(R) EPID signature

Options:
  --sig=FILE
      load signature to revoke from FILE (default: sig.dat)

  --msg=MESSAGE
      MESSAGE used to generate signature to revoke

  --msgfile=FILE
      FILE containing message used to generate signature to revoke

  --gpubkey=FILE
      load group public key from FILE (default: pubkey.bin)

  --capubkey=FILE
      load IoT Issuing CA public key from FILE

  --req=FILE
      append signature revocation request to FILE (default: sigrlreq.dat)

  -h, --help
      display this help and exit

  -v, --verbose
      print status messages to stdout
</pre><h1><a class="anchor" id="ExtractionTools"></a>
Tools for Extracting Keys from iKGF Files</h1>
<p>The Intel&reg; EPID SDK includes tools to help you extract individual keys from files provided by the Intel Key Generation Facility (iKGF) if you are using iKGF as the issuer.</p>
<p>To access the tools, go to <code>_install/epid-sdk/tools</code> in the SDK directory.</p>
<p>You need to build the SDK before you can use these tools. For more information, refer to <a class="el" href="BuildingSdk.html">Building from Source</a>.</p>
<p>The following tools are available:</p>
<table class="doxtable">
<tr>
<th>Tool </th><th>Purpose  </th></tr>
<tr>
<td><code>extractgrps</code> </td><td>Extracts group public keys </td></tr>
<tr>
<td><code>extractkeys</code> </td><td>Extracts member private keys </td></tr>
</table>
<h2><a class="anchor" id="ExtractionTools_extractgrps"></a>
Extracting Group Public Keys</h2>
<p>The <code>extractgrps</code> tool extracts group public keys from the input file to the current directory. </p><pre class="fragment">Usage: extractgrps [OPTION]... [FILE] [NUM]
Extract the first NUM group certs from FILE to current directory

Options:
  -h, --help
      display this help and exit

  -v, --verbose
      print status messages to stdout
</pre><h2><a class="anchor" id="ExtractionTools_extractkeys"></a>
Extracting Member Private Keys</h2>
<p>The <code>extractkeys</code> tool extracts member private keys from the input file to the current directory. </p><pre class="fragment">Usage: extractkeys [OPTION]... [FILE] [NUM]
Extract the first NUM private keys from FILE to current directory.

Options:
  -c, --compressed
      extract compressed keys

  -h, --help
      display this help and exit

  -v, --verbose
      print status messages to stdout</pre> </div></div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.10-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">
      &copy; 2016 Intel Corporation
    </li>
  </ul>
</div>
</body>
</html>