blob: da83ffcc6047fccae9f99428eae8223eb1789974 [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>
80<tr>
81 <td width="15%" align="right" valign="top" class="summary">
82 <span class="summary-type">&nbsp;</span>
83 </td><td class="summary">
84 <a href="oauth2client.crypt.Verifier-class.html" class="summary-name">Verifier</a><br />
85 Verifies the signature on a message.
86 </td>
87 </tr>
88<tr>
89 <td width="15%" align="right" valign="top" class="summary">
90 <span class="summary-type">&nbsp;</span>
91 </td><td class="summary">
92 <a href="oauth2client.crypt.Signer-class.html" class="summary-name">Signer</a><br />
93 Signs messages with a private key.
94 </td>
95 </tr>
96</table>
97<!-- ==================== FUNCTIONS ==================== -->
98<a name="section-Functions"></a>
99<table class="summary" border="1" cellpadding="3"
100 cellspacing="0" width="100%" bgcolor="white">
101<tr bgcolor="#70b0f0" class="table-header">
102 <td colspan="2" class="table-header">
103 <table border="0" cellpadding="0" cellspacing="0" width="100%">
104 <tr valign="top">
105 <td align="left"><span class="table-header">Functions</span></td>
106 <td align="right" valign="top"
107 ><span class="options">[<a href="#section-Functions"
108 class="privatelink" onclick="toggle_private();"
109 >hide private</a>]</span></td>
110 </tr>
111 </table>
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_b64encode"></a><span class="summary-sig-name">_urlsafe_b64encode</span>(<span class="summary-sig-arg">raw_bytes</span>)</span></td>
121 <td align="right" valign="top">
122 <span class="codelink"><a href="oauth2client.crypt-pysrc.html#_urlsafe_b64encode">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="_urlsafe_b64decode"></a><span class="summary-sig-name">_urlsafe_b64decode</span>(<span class="summary-sig-arg">b64string</span>)</span></td>
137 <td align="right" valign="top">
138 <span class="codelink"><a href="oauth2client.crypt-pysrc.html#_urlsafe_b64decode">source&nbsp;code</a></span>
139
140 </td>
141 </tr>
142 </table>
143
144 </td>
145 </tr>
146<tr class="private">
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 name="_json_encode"></a><span class="summary-sig-name">_json_encode</span>(<span class="summary-sig-arg">data</span>)</span></td>
153 <td align="right" valign="top">
154 <span class="codelink"><a href="oauth2client.crypt-pysrc.html#_json_encode">source&nbsp;code</a></span>
155
156 </td>
157 </tr>
158 </table>
159
160 </td>
161 </tr>
162<tr>
163 <td width="15%" align="right" valign="top" class="summary">
164 <span class="summary-type">&nbsp;</span>
165 </td><td class="summary">
166 <table width="100%" cellpadding="0" cellspacing="0" border="0">
167 <tr>
168 <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>,
169 <span class="summary-sig-arg">payload</span>)</span><br />
170 Make a signed JWT.</td>
171 <td align="right" valign="top">
172 <span class="codelink"><a href="oauth2client.crypt-pysrc.html#make_signed_jwt">source&nbsp;code</a></span>
173
174 </td>
175 </tr>
176 </table>
177
178 </td>
179 </tr>
180<tr>
181 <td width="15%" align="right" valign="top" class="summary">
182 <span class="summary-type">&nbsp;</span>
183 </td><td class="summary">
184 <table width="100%" cellpadding="0" cellspacing="0" border="0">
185 <tr>
186 <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>,
187 <span class="summary-sig-arg">certs</span>,
188 <span class="summary-sig-arg">audience</span>)</span><br />
189 Verify a JWT against public certs.</td>
190 <td align="right" valign="top">
191 <span class="codelink"><a href="oauth2client.crypt-pysrc.html#verify_signed_jwt_with_certs">source&nbsp;code</a></span>
192
193 </td>
194 </tr>
195 </table>
196
197 </td>
198 </tr>
199</table>
200<!-- ==================== VARIABLES ==================== -->
201<a name="section-Variables"></a>
202<table class="summary" border="1" cellpadding="3"
203 cellspacing="0" width="100%" bgcolor="white">
204<tr bgcolor="#70b0f0" class="table-header">
205 <td colspan="2" class="table-header">
206 <table border="0" cellpadding="0" cellspacing="0" width="100%">
207 <tr valign="top">
208 <td align="left"><span class="table-header">Variables</span></td>
209 <td align="right" valign="top"
210 ><span class="options">[<a href="#section-Variables"
211 class="privatelink" onclick="toggle_private();"
212 >hide private</a>]</span></td>
213 </tr>
214 </table>
215 </td>
216</tr>
217<tr>
218 <td width="15%" align="right" valign="top" class="summary">
219 <span class="summary-type">&nbsp;</span>
220 </td><td class="summary">
Joe Gregorioe7a0c472012-07-12 11:46:04 -0400221 <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger(__name__)">logging.getLogger(__name__)</code>
222 </td>
223 </tr>
224<tr>
225 <td width="15%" align="right" valign="top" class="summary">
226 <span class="summary-type">&nbsp;</span>
227 </td><td class="summary">
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400228 <a name="CLOCK_SKEW_SECS"></a><span class="summary-name">CLOCK_SKEW_SECS</span> = <code title="300">300</code>
229 </td>
230 </tr>
231<tr>
232 <td width="15%" align="right" valign="top" class="summary">
233 <span class="summary-type">&nbsp;</span>
234 </td><td class="summary">
235 <a name="AUTH_TOKEN_LIFETIME_SECS"></a><span class="summary-name">AUTH_TOKEN_LIFETIME_SECS</span> = <code title="300">300</code>
236 </td>
237 </tr>
238<tr>
239 <td width="15%" align="right" valign="top" class="summary">
240 <span class="summary-type">&nbsp;</span>
241 </td><td class="summary">
242 <a name="MAX_TOKEN_LIFETIME_SECS"></a><span class="summary-name">MAX_TOKEN_LIFETIME_SECS</span> = <code title="86400">86400</code>
243 </td>
244 </tr>
245<tr>
246 <td width="15%" align="right" valign="top" class="summary">
247 <span class="summary-type">&nbsp;</span>
248 </td><td class="summary">
249 <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'oauth2client'"><code class="variable-quote">'</code><code class="variable-string">oauth2client</code><code class="variable-quote">'</code></code>
250 </td>
251 </tr>
252</table>
253<!-- ==================== FUNCTION DETAILS ==================== -->
254<a name="section-FunctionDetails"></a>
255<table class="details" border="1" cellpadding="3"
256 cellspacing="0" width="100%" bgcolor="white">
257<tr bgcolor="#70b0f0" class="table-header">
258 <td colspan="2" class="table-header">
259 <table border="0" cellpadding="0" cellspacing="0" width="100%">
260 <tr valign="top">
261 <td align="left"><span class="table-header">Function Details</span></td>
262 <td align="right" valign="top"
263 ><span class="options">[<a href="#section-FunctionDetails"
264 class="privatelink" onclick="toggle_private();"
265 >hide private</a>]</span></td>
266 </tr>
267 </table>
268 </td>
269</tr>
270</table>
271<a name="make_signed_jwt"></a>
272<div>
273<table class="details" border="1" cellpadding="3"
274 cellspacing="0" width="100%" bgcolor="white">
275<tr><td>
276 <table width="100%" cellpadding="0" cellspacing="0" border="0">
277 <tr valign="top"><td>
278 <h3 class="epydoc"><span class="sig"><span class="sig-name">make_signed_jwt</span>(<span class="sig-arg">signer</span>,
279 <span class="sig-arg">payload</span>)</span>
280 </h3>
281 </td><td align="right" valign="top"
282 ><span class="codelink"><a href="oauth2client.crypt-pysrc.html#make_signed_jwt">source&nbsp;code</a></span>&nbsp;
283 </td>
284 </tr></table>
285
286 <pre class="literalblock">
287Make a signed JWT.
288
289See http://self-issued.info/docs/draft-jones-json-web-token.html.
290
291Args:
292 signer: crypt.Signer, Cryptographic signer.
293 payload: dict, Dictionary of data to convert to JSON and then sign.
294
295Returns:
296 string, The JWT for the payload.
297
298</pre>
299 <dl class="fields">
300 </dl>
301</td></tr></table>
302</div>
303<a name="verify_signed_jwt_with_certs"></a>
304<div>
305<table class="details" border="1" cellpadding="3"
306 cellspacing="0" width="100%" bgcolor="white">
307<tr><td>
308 <table width="100%" cellpadding="0" cellspacing="0" border="0">
309 <tr valign="top"><td>
310 <h3 class="epydoc"><span class="sig"><span class="sig-name">verify_signed_jwt_with_certs</span>(<span class="sig-arg">jwt</span>,
311 <span class="sig-arg">certs</span>,
312 <span class="sig-arg">audience</span>)</span>
313 </h3>
314 </td><td align="right" valign="top"
315 ><span class="codelink"><a href="oauth2client.crypt-pysrc.html#verify_signed_jwt_with_certs">source&nbsp;code</a></span>&nbsp;
316 </td>
317 </tr></table>
318
319 <pre class="literalblock">
320Verify a JWT against public certs.
321
322See http://self-issued.info/docs/draft-jones-json-web-token.html.
323
324Args:
325 jwt: string, A JWT.
326 certs: dict, Dictionary where values of public keys in PEM format.
327 audience: string, The audience, 'aud', that this JWT should contain. If
328 None then the JWT's 'aud' parameter is not verified.
329
330Returns:
331 dict, The deserialized JSON payload in the JWT.
332
333Raises:
334 AppIdentityError if any checks are failed.
335
336</pre>
337 <dl class="fields">
338 </dl>
339</td></tr></table>
340</div>
341<br />
342<!-- ==================== NAVIGATION BAR ==================== -->
343<table class="navbar" border="0" width="100%" cellpadding="0"
344 bgcolor="#a0c0ff" cellspacing="0">
345 <tr valign="middle">
346
347 <!-- Tree link -->
348 <th>&nbsp;&nbsp;&nbsp;<a
349 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
350
351 <!-- Index link -->
352 <th>&nbsp;&nbsp;&nbsp;<a
353 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
354
355 <!-- Help link -->
356 <th>&nbsp;&nbsp;&nbsp;<a
357 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
358
359 <th class="navbar" width="100%"></th>
360 </tr>
361</table>
362<table border="0" cellpadding="0" cellspacing="0" width="100%%">
363 <tr>
364 <td align="left" class="footer">
Joe Gregorio0cd347a2012-08-30 08:22:27 -0400365 Generated by Epydoc 3.0.1 on Thu Aug 30 07:12:42 2012
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400366 </td>
367 <td align="right" class="footer">
368 <a target="mainFrame" href="http://epydoc.sourceforge.net"
369 >http://epydoc.sourceforge.net</a>
370 </td>
371 </tr>
372</table>
373
374<script type="text/javascript">
375 <!--
376 // Private objects are initially displayed (because if
377 // javascript is turned off then we want them to be
378 // visible); but by default, we want to hide them. So hide
379 // them unless we have a cookie that says to show them.
380 checkCookie();
381 // -->
382</script>
383</body>
384</html>