blob: f2286ee6668d53a943fae98b66ed68c2d44de24b [file] [log] [blame]
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -04001<?xml version="1.0" encoding="ascii"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "DTD/xhtml1-transitional.dtd">
4<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5<head>
6 <title>oauth2client.crypt</title>
7 <link rel="stylesheet" href="epydoc.css" type="text/css" />
8 <script type="text/javascript" src="epydoc.js"></script>
9</head>
10
11<body bgcolor="white" text="black" link="blue" vlink="#204080"
12 alink="#204080">
13<!-- ==================== NAVIGATION BAR ==================== -->
14<table class="navbar" border="0" width="100%" cellpadding="0"
15 bgcolor="#a0c0ff" cellspacing="0">
16 <tr valign="middle">
17
18 <!-- Tree link -->
19 <th>&nbsp;&nbsp;&nbsp;<a
20 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
21
22 <!-- Index link -->
23 <th>&nbsp;&nbsp;&nbsp;<a
24 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
25
26 <!-- Help link -->
27 <th>&nbsp;&nbsp;&nbsp;<a
28 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
29
30 <th class="navbar" width="100%"></th>
31 </tr>
32</table>
33<table width="100%" cellpadding="0" cellspacing="0">
34 <tr valign="top">
35 <td width="100%">
36 <span class="breadcrumbs">
37 <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
38 Module&nbsp;crypt
39 </span>
40 </td>
41 <td>
42 <table cellpadding="0" cellspacing="0">
43 <!-- hide/show private -->
44 <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
45 onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
46 <tr><td align="right"><span class="options"
47 >[<a href="frames.html" target="_top">frames</a
48 >]&nbsp;|&nbsp;<a href="oauth2client.crypt-module.html"
49 target="_top">no&nbsp;frames</a>]</span></td></tr>
50 </table>
51 </td>
52 </tr>
53</table>
54<!-- ==================== MODULE DESCRIPTION ==================== -->
55<h1 class="epydoc">Module crypt</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.crypt-pysrc.html">source&nbsp;code</a></span></p>
56<!-- ==================== CLASSES ==================== -->
57<a name="section-Classes"></a>
58<table class="summary" border="1" cellpadding="3"
59 cellspacing="0" width="100%" bgcolor="white">
60<tr bgcolor="#70b0f0" class="table-header">
61 <td colspan="2" class="table-header">
62 <table border="0" cellpadding="0" cellspacing="0" width="100%">
63 <tr valign="top">
64 <td align="left"><span class="table-header">Classes</span></td>
65 <td align="right" valign="top"
66 ><span class="options">[<a href="#section-Classes"
67 class="privatelink" onclick="toggle_private();"
68 >hide private</a>]</span></td>
69 </tr>
70 </table>
71 </td>
72</tr>
73<tr>
74 <td width="15%" align="right" valign="top" class="summary">
75 <span class="summary-type">&nbsp;</span>
76 </td><td class="summary">
77 <a href="oauth2client.crypt.AppIdentityError-class.html" class="summary-name">AppIdentityError</a>
78 </td>
79 </tr>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -040080</table>
81<!-- ==================== FUNCTIONS ==================== -->
82<a name="section-Functions"></a>
83<table class="summary" border="1" cellpadding="3"
84 cellspacing="0" width="100%" bgcolor="white">
85<tr bgcolor="#70b0f0" class="table-header">
86 <td colspan="2" class="table-header">
87 <table border="0" cellpadding="0" cellspacing="0" width="100%">
88 <tr valign="top">
89 <td align="left"><span class="table-header">Functions</span></td>
90 <td align="right" valign="top"
91 ><span class="options">[<a href="#section-Functions"
92 class="privatelink" onclick="toggle_private();"
93 >hide private</a>]</span></td>
94 </tr>
95 </table>
96 </td>
97</tr>
98<tr class="private">
99 <td width="15%" align="right" valign="top" class="summary">
100 <span class="summary-type">&nbsp;</span>
101 </td><td class="summary">
102 <table width="100%" cellpadding="0" cellspacing="0" border="0">
103 <tr>
104 <td><span class="summary-sig"><a name="_urlsafe_b64encode"></a><span class="summary-sig-name">_urlsafe_b64encode</span>(<span class="summary-sig-arg">raw_bytes</span>)</span></td>
105 <td align="right" valign="top">
106 <span class="codelink"><a href="oauth2client.crypt-pysrc.html#_urlsafe_b64encode">source&nbsp;code</a></span>
107
108 </td>
109 </tr>
110 </table>
111
112 </td>
113 </tr>
114<tr class="private">
115 <td width="15%" align="right" valign="top" class="summary">
116 <span class="summary-type">&nbsp;</span>
117 </td><td class="summary">
118 <table width="100%" cellpadding="0" cellspacing="0" border="0">
119 <tr>
120 <td><span class="summary-sig"><a name="_urlsafe_b64decode"></a><span class="summary-sig-name">_urlsafe_b64decode</span>(<span class="summary-sig-arg">b64string</span>)</span></td>
121 <td align="right" valign="top">
122 <span class="codelink"><a href="oauth2client.crypt-pysrc.html#_urlsafe_b64decode">source&nbsp;code</a></span>
123
124 </td>
125 </tr>
126 </table>
127
128 </td>
129 </tr>
130<tr class="private">
131 <td width="15%" align="right" valign="top" class="summary">
132 <span class="summary-type">&nbsp;</span>
133 </td><td class="summary">
134 <table width="100%" cellpadding="0" cellspacing="0" border="0">
135 <tr>
136 <td><span class="summary-sig"><a name="_json_encode"></a><span class="summary-sig-name">_json_encode</span>(<span class="summary-sig-arg">data</span>)</span></td>
137 <td align="right" valign="top">
138 <span class="codelink"><a href="oauth2client.crypt-pysrc.html#_json_encode">source&nbsp;code</a></span>
139
140 </td>
141 </tr>
142 </table>
143
144 </td>
145 </tr>
146<tr>
147 <td width="15%" align="right" valign="top" class="summary">
148 <span class="summary-type">&nbsp;</span>
149 </td><td class="summary">
150 <table width="100%" cellpadding="0" cellspacing="0" border="0">
151 <tr>
152 <td><span class="summary-sig"><a href="oauth2client.crypt-module.html#make_signed_jwt" class="summary-sig-name">make_signed_jwt</a>(<span class="summary-sig-arg">signer</span>,
153 <span class="summary-sig-arg">payload</span>)</span><br />
154 Make a signed JWT.</td>
155 <td align="right" valign="top">
156 <span class="codelink"><a href="oauth2client.crypt-pysrc.html#make_signed_jwt">source&nbsp;code</a></span>
157
158 </td>
159 </tr>
160 </table>
161
162 </td>
163 </tr>
164<tr>
165 <td width="15%" align="right" valign="top" class="summary">
166 <span class="summary-type">&nbsp;</span>
167 </td><td class="summary">
168 <table width="100%" cellpadding="0" cellspacing="0" border="0">
169 <tr>
170 <td><span class="summary-sig"><a href="oauth2client.crypt-module.html#verify_signed_jwt_with_certs" class="summary-sig-name">verify_signed_jwt_with_certs</a>(<span class="summary-sig-arg">jwt</span>,
171 <span class="summary-sig-arg">certs</span>,
172 <span class="summary-sig-arg">audience</span>)</span><br />
173 Verify a JWT against public certs.</td>
174 <td align="right" valign="top">
175 <span class="codelink"><a href="oauth2client.crypt-pysrc.html#verify_signed_jwt_with_certs">source&nbsp;code</a></span>
176
177 </td>
178 </tr>
179 </table>
180
181 </td>
182 </tr>
183</table>
184<!-- ==================== VARIABLES ==================== -->
185<a name="section-Variables"></a>
186<table class="summary" border="1" cellpadding="3"
187 cellspacing="0" width="100%" bgcolor="white">
188<tr bgcolor="#70b0f0" class="table-header">
189 <td colspan="2" class="table-header">
190 <table border="0" cellpadding="0" cellspacing="0" width="100%">
191 <tr valign="top">
192 <td align="left"><span class="table-header">Variables</span></td>
193 <td align="right" valign="top"
194 ><span class="options">[<a href="#section-Variables"
195 class="privatelink" onclick="toggle_private();"
196 >hide private</a>]</span></td>
197 </tr>
198 </table>
199 </td>
200</tr>
201<tr>
202 <td width="15%" align="right" valign="top" class="summary">
203 <span class="summary-type">&nbsp;</span>
204 </td><td class="summary">
205 <a name="CLOCK_SKEW_SECS"></a><span class="summary-name">CLOCK_SKEW_SECS</span> = <code title="300">300</code>
206 </td>
207 </tr>
208<tr>
209 <td width="15%" align="right" valign="top" class="summary">
210 <span class="summary-type">&nbsp;</span>
211 </td><td class="summary">
212 <a name="AUTH_TOKEN_LIFETIME_SECS"></a><span class="summary-name">AUTH_TOKEN_LIFETIME_SECS</span> = <code title="300">300</code>
213 </td>
214 </tr>
215<tr>
216 <td width="15%" align="right" valign="top" class="summary">
217 <span class="summary-type">&nbsp;</span>
218 </td><td class="summary">
219 <a name="MAX_TOKEN_LIFETIME_SECS"></a><span class="summary-name">MAX_TOKEN_LIFETIME_SECS</span> = <code title="86400">86400</code>
220 </td>
221 </tr>
Joe Gregorio52a5c532013-01-24 16:19:07 -0500222<tr>
223 <td width="15%" align="right" valign="top" class="summary">
224 <span class="summary-type">&nbsp;</span>
225 </td><td class="summary">
226 <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger(__name__)">logging.getLogger(__name__)</code>
227 </td>
228 </tr>
229<tr>
230 <td width="15%" align="right" valign="top" class="summary">
231 <span class="summary-type">&nbsp;</span>
232 </td><td class="summary">
233 <a name="OpenSSLVerifier"></a><span class="summary-name">OpenSSLVerifier</span> = <code title="None">None</code>
234 </td>
235 </tr>
236<tr>
237 <td width="15%" align="right" valign="top" class="summary">
238 <span class="summary-type">&nbsp;</span>
239 </td><td class="summary">
240 <a name="OpenSSLSigner"></a><span class="summary-name">OpenSSLSigner</span> = <code title="None">None</code>
241 </td>
242 </tr>
243<tr>
244 <td width="15%" align="right" valign="top" class="summary">
245 <span class="summary-type">&nbsp;</span>
246 </td><td class="summary">
247 <a name="PyCryptoVerifier"></a><span class="summary-name">PyCryptoVerifier</span> = <code title="None">None</code>
248 </td>
249 </tr>
250<tr>
251 <td width="15%" align="right" valign="top" class="summary">
252 <span class="summary-type">&nbsp;</span>
253 </td><td class="summary">
254 <a name="PyCryptoSigner"></a><span class="summary-name">PyCryptoSigner</span> = <code title="None">None</code>
255 </td>
256 </tr>
257<tr>
258 <td width="15%" align="right" valign="top" class="summary">
259 <span class="summary-type">&nbsp;</span>
260 </td><td class="summary">
261 <a name="Signer"></a><span class="summary-name">Signer</span> = <code title="None">None</code>
262 </td>
263 </tr>
264<tr>
265 <td width="15%" align="right" valign="top" class="summary">
266 <span class="summary-type">&nbsp;</span>
267 </td><td class="summary">
268 <a name="Verifier"></a><span class="summary-name">Verifier</span> = <code title="None">None</code>
269 </td>
270 </tr>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400271</table>
272<!-- ==================== FUNCTION DETAILS ==================== -->
273<a name="section-FunctionDetails"></a>
274<table class="details" border="1" cellpadding="3"
275 cellspacing="0" width="100%" bgcolor="white">
276<tr bgcolor="#70b0f0" class="table-header">
277 <td colspan="2" class="table-header">
278 <table border="0" cellpadding="0" cellspacing="0" width="100%">
279 <tr valign="top">
280 <td align="left"><span class="table-header">Function Details</span></td>
281 <td align="right" valign="top"
282 ><span class="options">[<a href="#section-FunctionDetails"
283 class="privatelink" onclick="toggle_private();"
284 >hide private</a>]</span></td>
285 </tr>
286 </table>
287 </td>
288</tr>
289</table>
290<a name="make_signed_jwt"></a>
291<div>
292<table class="details" border="1" cellpadding="3"
293 cellspacing="0" width="100%" bgcolor="white">
294<tr><td>
295 <table width="100%" cellpadding="0" cellspacing="0" border="0">
296 <tr valign="top"><td>
297 <h3 class="epydoc"><span class="sig"><span class="sig-name">make_signed_jwt</span>(<span class="sig-arg">signer</span>,
298 <span class="sig-arg">payload</span>)</span>
299 </h3>
300 </td><td align="right" valign="top"
301 ><span class="codelink"><a href="oauth2client.crypt-pysrc.html#make_signed_jwt">source&nbsp;code</a></span>&nbsp;
302 </td>
303 </tr></table>
304
305 <pre class="literalblock">
306Make a signed JWT.
307
308See http://self-issued.info/docs/draft-jones-json-web-token.html.
309
310Args:
311 signer: crypt.Signer, Cryptographic signer.
312 payload: dict, Dictionary of data to convert to JSON and then sign.
313
314Returns:
315 string, The JWT for the payload.
316
317</pre>
318 <dl class="fields">
319 </dl>
320</td></tr></table>
321</div>
322<a name="verify_signed_jwt_with_certs"></a>
323<div>
324<table class="details" border="1" cellpadding="3"
325 cellspacing="0" width="100%" bgcolor="white">
326<tr><td>
327 <table width="100%" cellpadding="0" cellspacing="0" border="0">
328 <tr valign="top"><td>
329 <h3 class="epydoc"><span class="sig"><span class="sig-name">verify_signed_jwt_with_certs</span>(<span class="sig-arg">jwt</span>,
330 <span class="sig-arg">certs</span>,
331 <span class="sig-arg">audience</span>)</span>
332 </h3>
333 </td><td align="right" valign="top"
334 ><span class="codelink"><a href="oauth2client.crypt-pysrc.html#verify_signed_jwt_with_certs">source&nbsp;code</a></span>&nbsp;
335 </td>
336 </tr></table>
337
338 <pre class="literalblock">
339Verify a JWT against public certs.
340
341See http://self-issued.info/docs/draft-jones-json-web-token.html.
342
343Args:
344 jwt: string, A JWT.
345 certs: dict, Dictionary where values of public keys in PEM format.
346 audience: string, The audience, 'aud', that this JWT should contain. If
347 None then the JWT's 'aud' parameter is not verified.
348
349Returns:
350 dict, The deserialized JSON payload in the JWT.
351
352Raises:
353 AppIdentityError if any checks are failed.
354
355</pre>
356 <dl class="fields">
357 </dl>
358</td></tr></table>
359</div>
360<br />
361<!-- ==================== NAVIGATION BAR ==================== -->
362<table class="navbar" border="0" width="100%" cellpadding="0"
363 bgcolor="#a0c0ff" cellspacing="0">
364 <tr valign="middle">
365
366 <!-- Tree link -->
367 <th>&nbsp;&nbsp;&nbsp;<a
368 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
369
370 <!-- Index link -->
371 <th>&nbsp;&nbsp;&nbsp;<a
372 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
373
374 <!-- Help link -->
375 <th>&nbsp;&nbsp;&nbsp;<a
376 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
377
378 <th class="navbar" width="100%"></th>
379 </tr>
380</table>
381<table border="0" cellpadding="0" cellspacing="0" width="100%%">
382 <tr>
383 <td align="left" class="footer">
Joe Gregorio37802c32013-08-06 12:24:05 -0400384 Generated by Epydoc 3.0.1 on Tue Aug 6 12:16:42 2013
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400385 </td>
386 <td align="right" class="footer">
387 <a target="mainFrame" href="http://epydoc.sourceforge.net"
388 >http://epydoc.sourceforge.net</a>
389 </td>
390 </tr>
391</table>
392
393<script type="text/javascript">
394 <!--
395 // Private objects are initially displayed (because if
396 // javascript is turned off then we want them to be
397 // visible); but by default, we want to hide them. So hide
398 // them unless we have a cookie that says to show them.
399 checkCookie();
400 // -->
401</script>
402</body>
403</html>