Offset 1, 4 lines modified | Offset 1, 4 lines modified | ||
1 | · | 1 | ·23ed397ffceeb0e6fb0b34f965e819b8·89076·doc·optional·python-openssl-doc_19.0.0-1_all.deb |
2 | ·725e908600719ec666ac268dbb4a63a5·52000·python·optional·python-openssl_19.0.0-1_all.deb | 2 | ·725e908600719ec666ac268dbb4a63a5·52000·python·optional·python-openssl_19.0.0-1_all.deb |
3 | ·6c9e272b0ba3582469ba0c6621c97329·52080·python·optional·python3-openssl_19.0.0-1_all.deb | 3 | ·6c9e272b0ba3582469ba0c6621c97329·52080·python·optional·python3-openssl_19.0.0-1_all.deb |
Offset 1, 3 lines modified | Offset 1, 3 lines modified | ||
1 | -rw-r--r--···0········0········0········4·2019-01-26·02:36:25.000000·debian-binary | 1 | -rw-r--r--···0········0········0········4·2019-01-26·02:36:25.000000·debian-binary |
2 | -rw-r--r--···0········0········0·····237 | 2 | -rw-r--r--···0········0········0·····2372·2019-01-26·02:36:25.000000·control.tar.xz |
3 | -rw-r--r--···0········0········0····86 | 3 | -rw-r--r--···0········0········0····86512·2019-01-26·02:36:25.000000·data.tar.xz |
Offset 1, 13 lines modified | Offset 1, 13 lines modified | ||
1 | Package:·python-openssl-doc | 1 | Package:·python-openssl-doc |
2 | Source:·pyopenssl | 2 | Source:·pyopenssl |
3 | Version:·19.0.0-1 | 3 | Version:·19.0.0-1 |
4 | Architecture:·all | 4 | Architecture:·all |
5 | Maintainer:·Sandro·Tosi·<morph@debian.org> | 5 | Maintainer:·Sandro·Tosi·<morph@debian.org> |
6 | Installed-Size:· | 6 | Installed-Size:·592 |
7 | Depends:·libjs-sphinxdoc·(>=·1.0),·sphinx-rtd-theme-common·(>=·0.4.3+dfsg) | 7 | Depends:·libjs-sphinxdoc·(>=·1.0),·sphinx-rtd-theme-common·(>=·0.4.3+dfsg) |
8 | Suggests:·python-openssl,·python3-openssl | 8 | Suggests:·python-openssl,·python3-openssl |
9 | Section:·doc | 9 | Section:·doc |
10 | Priority:·optional | 10 | Priority:·optional |
11 | Homepage:·https://pyopenssl.org/ | 11 | Homepage:·https://pyopenssl.org/ |
12 | Description:·Python·wrapper·around·the·OpenSSL·library·(documentation·package) | 12 | Description:·Python·wrapper·around·the·OpenSSL·library·(documentation·package) |
13 | ·High-level·wrapper·around·a·subset·of·the·OpenSSL·library,·includes | 13 | ·High-level·wrapper·around·a·subset·of·the·OpenSSL·library,·includes |
Offset 54, 23 lines modified | Offset 54, 23 lines modified | ||
54 | -rw-r--r--···0·root·········(0)·root·········(0)····10847·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/_static/language_data.js | 54 | -rw-r--r--···0·root·········(0)·root·········(0)····10847·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/_static/language_data.js |
55 | -rw-r--r--···0·root·········(0)·root·········(0)·······90·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/_static/minus.png | 55 | -rw-r--r--···0·root·········(0)·root·········(0)·······90·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/_static/minus.png |
56 | -rw-r--r--···0·root·········(0)·root·········(0)·······90·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/_static/plus.png | 56 | -rw-r--r--···0·root·········(0)·root·········(0)·······90·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/_static/plus.png |
57 | -rw-r--r--···0·root·········(0)·root·········(0)·····4395·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/_static/pygments.css | 57 | -rw-r--r--···0·root·········(0)·root·········(0)·····4395·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/_static/pygments.css |
58 | -rw-r--r--···0·root·········(0)·root·········(0)······214·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/_static/up-pressed.png | 58 | -rw-r--r--···0·root·········(0)·root·········(0)······214·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/_static/up-pressed.png |
59 | -rw-r--r--···0·root·········(0)·root·········(0)······203·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/_static/up.png | 59 | -rw-r--r--···0·root·········(0)·root·········(0)······203·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/_static/up.png |
60 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/api/ | 60 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/api/ |
61 | -rw-r--r--···0·root·········(0)·root·········(0)···1 | 61 | -rw-r--r--···0·root·········(0)·root·········(0)···158587·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/api/crypto.html |
62 | -rw-r--r--···0·root·········(0)·root·········(0)···13 | 62 | -rw-r--r--···0·root·········(0)·root·········(0)···130096·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/api/ssl.html |
63 | -rw-r--r--···0·root·········(0)·root·········(0)·····9613·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/api.html | 63 | -rw-r--r--···0·root·········(0)·root·········(0)·····9613·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/api.html |
64 | -rw-r--r--···0·root·········(0)·root·········(0)·····6 | 64 | -rw-r--r--···0·root·········(0)·root·········(0)·····6077·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/backward-compatibility.html |
65 | -rw-r--r--···0·root·········(0)·root·········(0)·····6579·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/changelog.html.gz | 65 | -rw-r--r--···0·root·········(0)·root·········(0)·····6579·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/changelog.html.gz |
66 | -rw-r--r--···0·root·········(0)·root·········(0)····45930·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/genindex.html | 66 | -rw-r--r--···0·root·········(0)·root·········(0)····45930·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/genindex.html |
67 | -rw-r--r--···0·root·········(0)·root·········(0)·····8737·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/index.html | 67 | -rw-r--r--···0·root·········(0)·root·········(0)·····8737·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/index.html |
68 | -rw-r--r--···0·root·········(0)·root·········(0)·····8272·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/install.html | 68 | -rw-r--r--···0·root·········(0)·root·········(0)·····8272·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/install.html |
69 | -rw-r--r--···0·root·········(0)·root·········(0)····1 | 69 | -rw-r--r--···0·root·········(0)·root·········(0)····12674·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/internals.html |
70 | -rw-r--r--···0·root·········(0)·root·········(0)····16870·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/introduction.html | 70 | -rw-r--r--···0·root·········(0)·root·········(0)····16870·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/introduction.html |
71 | -rw-r--r--···0·root·········(0)·root·········(0)·····2712·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/objects.inv | 71 | -rw-r--r--···0·root·········(0)·root·········(0)·····2712·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/objects.inv |
72 | -rw-r--r--···0·root·········(0)·root·········(0)·····5604·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/py-modindex.html | 72 | -rw-r--r--···0·root·········(0)·root·········(0)·····5604·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/py-modindex.html |
73 | -rw-r--r--···0·root·········(0)·root·········(0)·····4975·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/search.html | 73 | -rw-r--r--···0·root·········(0)·root·········(0)·····4975·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/search.html |
74 | -rw-r--r--···0·root·········(0)·root·········(0)····26189·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/searchindex.js | 74 | -rw-r--r--···0·root·········(0)·root·········(0)····26189·2019-01-26·02:36:25.000000·./usr/share/doc/python-openssl-doc/html/searchindex.js |
75 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2019-01-26·02:36:25.000000·./usr/share/doc-base/ | 75 | drwxr-xr-x···0·root·········(0)·root·········(0)········0·2019-01-26·02:36:25.000000·./usr/share/doc-base/ |
76 | -rw-r--r--···0·root·········(0)·root·········(0)······461·2019-01-26·02:36:25.000000·./usr/share/doc-base/python-openssl-manual | 76 | -rw-r--r--···0·root·········(0)·root·········(0)······461·2019-01-26·02:36:25.000000·./usr/share/doc-base/python-openssl-manual |
Offset 223, 15 lines modified | Offset 223, 15 lines modified | ||
223 | <col·class="field-body"·/> | 223 | <col·class="field-body"·/> |
224 | <tbody·valign="top"> | 224 | <tbody·valign="top"> |
225 | <tr·class="field-odd·field"><th·class="field-name">Parameters:</th><td·class="field-body"><strong>name</strong>·(<code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">unicode</span></code>)·–·The·OpenSSL·short·name·identifying·the·curve·object·to | 225 | <tr·class="field-odd·field"><th·class="field-name">Parameters:</th><td·class="field-body"><strong>name</strong>·(<code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">unicode</span></code>)·–·The·OpenSSL·short·name·identifying·the·curve·object·to |
226 | retrieve.</td> | 226 | retrieve.</td> |
227 | </tr> | 227 | </tr> |
228 | </tbody> | 228 | </tbody> |
229 | </table> | 229 | </table> |
230 | <p>If·the·named·curve·is·not·supported·then·< | 230 | <p>If·the·named·curve·is·not·supported·then·<code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ValueError</span></code>·is·raised.</p> |
231 | </dd></dl> | 231 | </dd></dl> |
232 | </div> | 232 | </div> |
233 | <div·class="section"·id="serialization-and-deserialization"> | 233 | <div·class="section"·id="serialization-and-deserialization"> |
234 | <h2>Serialization·and·deserialization<a·class="headerlink"·href="#serialization-and-deserialization"·title="Permalink·to·this·headline">¶</a></h2> | 234 | <h2>Serialization·and·deserialization<a·class="headerlink"·href="#serialization-and-deserialization"·title="Permalink·to·this·headline">¶</a></h2> |
235 | <p>The·following·serialization·functions·take·one·of·these·constants·to·determine·the·format.</p> | 235 | <p>The·following·serialization·functions·take·one·of·these·constants·to·determine·the·format.</p> |
236 | <dl·class="data"> | 236 | <dl·class="data"> |
Offset 278, 15 lines modified | Offset 278, 15 lines modified | ||
278 | type·<em>type</em>.</p> | 278 | type·<em>type</em>.</p> |
279 | <table·class="docutils·field-list"·frame="void"·rules="none"> | 279 | <table·class="docutils·field-list"·frame="void"·rules="none"> |
280 | <col·class="field-name"·/> | 280 | <col·class="field-name"·/> |
281 | <col·class="field-body"·/> | 281 | <col·class="field-body"·/> |
282 | <tbody·valign="top"> | 282 | <tbody·valign="top"> |
283 | <tr·class="field-odd·field"><th·class="field-name">Parameters:</th><td·class="field-body"><ul·class="first·simple"> | 283 | <tr·class="field-odd·field"><th·class="field-name">Parameters:</th><td·class="field-body"><ul·class="first·simple"> |
284 | <li><strong>type</strong>·–·The·file·type·(one·of·FILETYPE_PEM,·FILETYPE_ASN1)</li> | 284 | <li><strong>type</strong>·–·The·file·type·(one·of·FILETYPE_PEM,·FILETYPE_ASN1)</li> |
285 | <li><strong>buffer</strong>·(< | 285 | <li><strong>buffer</strong>·(<em>bytes</em>)·–·The·buffer·the·certificate·is·stored·in</li> |
286 | </ul> | 286 | </ul> |
287 | </td> | 287 | </td> |
288 | </tr> | 288 | </tr> |
289 | <tr·class="field-even·field"><th·class="field-name">Returns:</th><td·class="field-body"><p·class="first·last">The·X509·object</p> | 289 | <tr·class="field-even·field"><th·class="field-name">Returns:</th><td·class="field-body"><p·class="first·last">The·X509·object</p> |
290 | </td> | 290 | </td> |
291 | </tr> | 291 | </tr> |
292 | </tbody> | 292 | </tbody> |
Offset 362, 15 lines modified | Offset 362, 15 lines modified | ||
362 | the·passphrase·to·use,·or·a·callback·for·providing·the·passphrase.</li> | 362 | the·passphrase·to·use,·or·a·callback·for·providing·the·passphrase.</li> |
363 | </ul> | 363 | </ul> |
364 | </td> | 364 | </td> |
365 | </tr> | 365 | </tr> |
366 | <tr·class="field-even·field"><th·class="field-name">Returns:</th><td·class="field-body"><p·class="first">The·buffer·with·the·dumped·key·in</p> | 366 | <tr·class="field-even·field"><th·class="field-name">Returns:</th><td·class="field-body"><p·class="first">The·buffer·with·the·dumped·key·in</p> |
367 | </td> | 367 | </td> |
368 | </tr> | 368 | </tr> |
369 | <tr·class="field-odd·field"><th·class="field-name">Return·type:</th><td·class="field-body"><p·class="first·last"> | 369 | <tr·class="field-odd·field"><th·class="field-name">Return·type:</th><td·class="field-body"><p·class="first·last">bytes</p> |
370 | </td> | 370 | </td> |
371 | </tr> | 371 | </tr> |
372 | </tbody> | 372 | </tbody> |
373 | </table> | 373 | </table> |
374 | </dd></dl> | 374 | </dd></dl> |
375 | <dl·class="function"> | 375 | <dl·class="function"> |
Offset 415, 15 lines modified | Offset 415, 15 lines modified | ||
415 | <li><strong>pkey</strong>·(<a·class="reference·internal"·href="#OpenSSL.crypto.PKey"·title="OpenSSL.crypto.PKey"><em>PKey</em></a>)·–·The·public·key·to·dump</li> | 415 | <li><strong>pkey</strong>·(<a·class="reference·internal"·href="#OpenSSL.crypto.PKey"·title="OpenSSL.crypto.PKey"><em>PKey</em></a>)·–·The·public·key·to·dump</li> |
416 | </ul> | 416 | </ul> |
417 | </td> | 417 | </td> |
418 | </tr> | 418 | </tr> |
419 | <tr·class="field-even·field"><th·class="field-name">Returns:</th><td·class="field-body"><p·class="first">The·buffer·with·the·dumped·key·in·it.</p> | 419 | <tr·class="field-even·field"><th·class="field-name">Returns:</th><td·class="field-body"><p·class="first">The·buffer·with·the·dumped·key·in·it.</p> |
420 | </td> | 420 | </td> |
421 | </tr> | 421 | </tr> |
422 | <tr·class="field-odd·field"><th·class="field-name">Return·type:</th><td·class="field-body"><p·class="first·last"> | 422 | <tr·class="field-odd·field"><th·class="field-name">Return·type:</th><td·class="field-body"><p·class="first·last">bytes</p> |
423 | </td> | 423 | </td> |
424 | </tr> | 424 | </tr> |
425 | </tbody> | 425 | </tbody> |
426 | </table> | 426 | </table> |
427 | </dd></dl> | 427 | </dd></dl> |
428 | <dl·class="function"> | 428 | <dl·class="function"> |
Offset 468, 15 lines modified | Offset 468, 15 lines modified | ||
468 | <li><strong>crl</strong>·(<a·class="reference·internal"·href="#OpenSSL.crypto.CRL"·title="OpenSSL.crypto.CRL"><em>CRL</em></a>)·–·The·CRL·to·dump.</li> | 468 | <li><strong>crl</strong>·(<a·class="reference·internal"·href="#OpenSSL.crypto.CRL"·title="OpenSSL.crypto.CRL"><em>CRL</em></a>)·–·The·CRL·to·dump.</li> |
469 | </ul> | 469 | </ul> |
470 | </td> | 470 | </td> |
471 | </tr> | 471 | </tr> |
472 | <tr·class="field-even·field"><th·class="field-name">Returns:</th><td·class="field-body"><p·class="first">The·buffer·with·the·CRL.</p> | 472 | <tr·class="field-even·field"><th·class="field-name">Returns:</th><td·class="field-body"><p·class="first">The·buffer·with·the·CRL.</p> |
473 | </td> | 473 | </td> |
474 | </tr> | 474 | </tr> |
475 | <tr·class="field-odd·field"><th·class="field-name">Return·type:</th><td·class="field-body"><p·class="first·last"> | 475 | <tr·class="field-odd·field"><th·class="field-name">Return·type:</th><td·class="field-body"><p·class="first·last">bytes</p> |
476 | </td> | 476 | </td> |
477 | </tr> | 477 | </tr> |
478 | </tbody> | 478 | </tbody> |
479 | </table> | 479 | </table> |
480 | </dd></dl> | 480 | </dd></dl> |
481 | <dl·class="function"> | 481 | <dl·class="function"> |
Offset 630, 20 lines modified | Offset 630, 20 lines modified | ||
630 | <dt·id="OpenSSL.crypto.X509.digest"> | 630 | <dt·id="OpenSSL.crypto.X509.digest"> |
631 | <code·class="descname">digest</code><span·class="sig-paren">(</span><em>digest_name</em><span·class="sig-paren">)</span><a·class="headerlink"·href="#OpenSSL.crypto.X509.digest"·title="Permalink·to·this·definition">¶</a></dt> | 631 | <code·class="descname">digest</code><span·class="sig-paren">(</span><em>digest_name</em><span·class="sig-paren">)</span><a·class="headerlink"·href="#OpenSSL.crypto.X509.digest"·title="Permalink·to·this·definition">¶</a></dt> |
632 | <dd><p>Return·the·digest·of·the·X509·object.</p> | 632 | <dd><p>Return·the·digest·of·the·X509·object.</p> |
633 | <table·class="docutils·field-list"·frame="void"·rules="none"> | 633 | <table·class="docutils·field-list"·frame="void"·rules="none"> |
634 | <col·class="field-name"·/> | 634 | <col·class="field-name"·/> |
635 | <col·class="field-body"·/> | 635 | <col·class="field-body"·/> |
636 | <tbody·valign="top"> | 636 | <tbody·valign="top"> |
637 | <tr·class="field-odd·field"><th·class="field-name">Parameters:</th><td·class="field-body"><strong>digest_name</strong>·(< | 637 | <tr·class="field-odd·field"><th·class="field-name">Parameters:</th><td·class="field-body"><strong>digest_name</strong>·(<code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">bytes</span></code>)·–·The·name·of·the·digest·algorithm·to·use.</td> |
638 | </tr> | 638 | </tr> |
639 | <tr·class="field-even·field"><th·class="field-name">Returns:</th><td·class="field-body">The·digest·of·the·object,·formatted·as | 639 | <tr·class="field-even·field"><th·class="field-name">Returns:</th><td·class="field-body">The·digest·of·the·object,·formatted·as |
640 | <code·class="xref·py·py-const·docutils·literal·notranslate"><span·class="pre">b":"</span></code>-delimited·hex·pairs.</td> | 640 | <code·class="xref·py·py-const·docutils·literal·notranslate"><span·class="pre">b":"</span></code>-delimited·hex·pairs.</td> |
641 | </tr> | 641 | </tr> |
642 | <tr·class="field-odd·field"><th·class="field-name">Return·type:</th><td·class="field-body">< | 642 | <tr·class="field-odd·field"><th·class="field-name">Return·type:</th><td·class="field-body"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">bytes</span></code></td> |
643 | </tr> | 643 | </tr> |
644 | </tbody> | 644 | </tbody> |
645 | </table> | 645 | </table> |
646 | </dd></dl> | 646 | </dd></dl> |
647 | <dl·class="classmethod"> | 647 | <dl·class="classmethod"> |
648 | <dt·id="OpenSSL.crypto.X509.from_cryptography"> | 648 | <dt·id="OpenSSL.crypto.X509.from_cryptography"> |
Offset 670, 21 lines modified | Offset 670, 21 lines modified | ||
670 | <dd><p>Get·a·specific·extension·of·the·certificate·by·index.</p> | 670 | <dd><p>Get·a·specific·extension·of·the·certificate·by·index.</p> |
671 | <p>Extensions·on·a·certificate·are·kept·in·order.·The·index | 671 | <p>Extensions·on·a·certificate·are·kept·in·order.·The·index |
672 | parameter·selects·which·extension·will·be·returned.</p> | 672 | parameter·selects·which·extension·will·be·returned.</p> |
673 | <table·class="docutils·field-list"·frame="void"·rules="none"> | 673 | <table·class="docutils·field-list"·frame="void"·rules="none"> |
674 | <col·class="field-name"·/> | 674 | <col·class="field-name"·/> |
675 | <col·class="field-body"·/> | 675 | <col·class="field-body"·/> |
676 | <tbody·valign="top"> | 676 | <tbody·valign="top"> |
677 | <tr·class="field-odd·field"><th·class="field-name">Parameters:</th><td·class="field-body"><strong>index</strong>·(< | 677 | <tr·class="field-odd·field"><th·class="field-name">Parameters:</th><td·class="field-body"><strong>index</strong>·(<em>int</em>)·–·The·index·of·the·extension·to·retrieve.</td> |
678 | </tr> | 678 | </tr> |
679 | <tr·class="field-even·field"><th·class="field-name">Returns:</th><td·class="field-body">The·extension·at·the·specified·index.</td> | 679 | <tr·class="field-even·field"><th·class="field-name">Returns:</th><td·class="field-body">The·extension·at·the·specified·index.</td> |
680 | </tr> | 680 | </tr> |
681 | <tr·class="field-odd·field"><th·class="field-name">Return·type:</th><td·class="field-body"><a·class="reference·internal"·href="#OpenSSL.crypto.X509Extension"·title="OpenSSL.crypto.X509Extension"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">X509Extension</span></code></a></td> | 681 | <tr·class="field-odd·field"><th·class="field-name">Return·type:</th><td·class="field-body"><a·class="reference·internal"·href="#OpenSSL.crypto.X509Extension"·title="OpenSSL.crypto.X509Extension"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">X509Extension</span></code></a></td> |
682 | </tr> | 682 | </tr> |
683 | <tr·class="field-even·field"><th·class="field-name">Raises:</th><td·class="field-body">< | 683 | <tr·class="field-even·field"><th·class="field-name">Raises:</th><td·class="field-body"><strong>IndexError</strong>·–·If·the·extension·index·was·out·of·bounds.</td> |
684 | </tr> | 684 | </tr> |
685 | </tbody> | 685 | </tbody> |
686 | </table> | 686 | </table> |
687 | <div·class="versionadded"> | 687 | <div·class="versionadded"> |
688 | <p><span·class="versionmodified">New·in·version·0.12.</span></p> | 688 | <p><span·class="versionmodified">New·in·version·0.12.</span></p> |
689 | </div> | 689 | </div> |
690 | </dd></dl> | 690 | </dd></dl> |
Offset 695, 15 lines modified | Offset 695, 15 lines modified | ||
695 | <dd><p>Get·the·number·of·extensions·on·this·certificate.</p> | 695 | <dd><p>Get·the·number·of·extensions·on·this·certificate.</p> |
696 | <table·class="docutils·field-list"·frame="void"·rules="none"> | 696 | <table·class="docutils·field-list"·frame="void"·rules="none"> |
697 | <col·class="field-name"·/> | 697 | <col·class="field-name"·/> |
698 | <col·class="field-body"·/> | 698 | <col·class="field-body"·/> |
Max diff block lines reached; 57561/66067 bytes (87.13%) of diff not shown. |
Offset 504, 15 lines modified | Offset 504, 15 lines modified | ||
504 | <code·class="descname">check_privatekey</code><span·class="sig-paren">(</span><span·class="sig-paren">)</span><a·class="headerlink"·href="#OpenSSL.SSL.Context.check_privatekey"·title="Permalink·to·this·definition">¶</a></dt> | 504 | <code·class="descname">check_privatekey</code><span·class="sig-paren">(</span><span·class="sig-paren">)</span><a·class="headerlink"·href="#OpenSSL.SSL.Context.check_privatekey"·title="Permalink·to·this·definition">¶</a></dt> |
505 | <dd><p>Check·if·the·private·key·(loaded·with·<a·class="reference·internal"·href="#OpenSSL.SSL.Context.use_privatekey"·title="OpenSSL.SSL.Context.use_privatekey"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">use_privatekey()</span></code></a>)·matches | 505 | <dd><p>Check·if·the·private·key·(loaded·with·<a·class="reference·internal"·href="#OpenSSL.SSL.Context.use_privatekey"·title="OpenSSL.SSL.Context.use_privatekey"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">use_privatekey()</span></code></a>)·matches |
506 | the·certificate·(loaded·with·<a·class="reference·internal"·href="#OpenSSL.SSL.Context.use_certificate"·title="OpenSSL.SSL.Context.use_certificate"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">use_certificate()</span></code></a>)</p> | 506 | the·certificate·(loaded·with·<a·class="reference·internal"·href="#OpenSSL.SSL.Context.use_certificate"·title="OpenSSL.SSL.Context.use_certificate"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">use_certificate()</span></code></a>)</p> |
507 | <table·class="docutils·field-list"·frame="void"·rules="none"> | 507 | <table·class="docutils·field-list"·frame="void"·rules="none"> |
508 | <col·class="field-name"·/> | 508 | <col·class="field-name"·/> |
509 | <col·class="field-body"·/> | 509 | <col·class="field-body"·/> |
510 | <tbody·valign="top"> | 510 | <tbody·valign="top"> |
511 | <tr·class="field-odd·field"><th·class="field-name">Returns:</th><td·class="field-body">< | 511 | <tr·class="field-odd·field"><th·class="field-name">Returns:</th><td·class="field-body"><code·class="xref·py·py-data·docutils·literal·notranslate"><span·class="pre">None</span></code>·(raises·<a·class="reference·internal"·href="#OpenSSL.SSL.Error"·title="OpenSSL.SSL.Error"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">Error</span></code></a>·if·something’s·wrong)</td> |
512 | </tr> | 512 | </tr> |
513 | </tbody> | 513 | </tbody> |
514 | </table> | 514 | </table> |
515 | </dd></dl> | 515 | </dd></dl> |
516 | <dl·class="method"> | 516 | <dl·class="method"> |
517 | <dt·id="OpenSSL.SSL.Context.get_app_data"> | 517 | <dt·id="OpenSSL.SSL.Context.get_app_data"> |
Offset 612, 15 lines modified | Offset 612, 15 lines modified | ||
612 | <dd><p>Load·the·trusted·certificates·that·will·be·sent·to·the·client.··Does | 612 | <dd><p>Load·the·trusted·certificates·that·will·be·sent·to·the·client.··Does |
613 | not·actually·imply·any·of·the·certificates·are·trusted;·that·must·be | 613 | not·actually·imply·any·of·the·certificates·are·trusted;·that·must·be |
614 | configured·separately.</p> | 614 | configured·separately.</p> |
615 | <table·class="docutils·field-list"·frame="void"·rules="none"> | 615 | <table·class="docutils·field-list"·frame="void"·rules="none"> |
616 | <col·class="field-name"·/> | 616 | <col·class="field-name"·/> |
617 | <col·class="field-body"·/> | 617 | <col·class="field-body"·/> |
618 | <tbody·valign="top"> | 618 | <tbody·valign="top"> |
619 | <tr·class="field-odd·field"><th·class="field-name">Parameters:</th><td·class="field-body"><strong>cafile</strong>·(< | 619 | <tr·class="field-odd·field"><th·class="field-name">Parameters:</th><td·class="field-body"><strong>cafile</strong>·(<em>bytes</em>)·–·The·path·to·a·certificates·file·in·PEM·format.</td> |
620 | </tr> | 620 | </tr> |
621 | <tr·class="field-even·field"><th·class="field-name">Returns:</th><td·class="field-body">None</td> | 621 | <tr·class="field-even·field"><th·class="field-name">Returns:</th><td·class="field-body">None</td> |
622 | </tr> | 622 | </tr> |
623 | </tbody> | 623 | </tbody> |
624 | </table> | 624 | </table> |
625 | </dd></dl> | 625 | </dd></dl> |
Offset 644, 15 lines modified | Offset 644, 15 lines modified | ||
644 | <dl·class="method"> | 644 | <dl·class="method"> |
645 | <dt·id="OpenSSL.SSL.Context.load_verify_locations"> | 645 | <dt·id="OpenSSL.SSL.Context.load_verify_locations"> |
646 | <code·class="descname">load_verify_locations</code><span·class="sig-paren">(</span><em>cafile</em>,·<em>capath=None</em><span·class="sig-paren">)</span><a·class="headerlink"·href="#OpenSSL.SSL.Context.load_verify_locations"·title="Permalink·to·this·definition">¶</a></dt> | 646 | <code·class="descname">load_verify_locations</code><span·class="sig-paren">(</span><em>cafile</em>,·<em>capath=None</em><span·class="sig-paren">)</span><a·class="headerlink"·href="#OpenSSL.SSL.Context.load_verify_locations"·title="Permalink·to·this·definition">¶</a></dt> |
647 | <dd><p>Let·SSL·know·where·we·can·find·trusted·certificates·for·the·certificate | 647 | <dd><p>Let·SSL·know·where·we·can·find·trusted·certificates·for·the·certificate |
648 | chain.··Note·that·the·certificates·have·to·be·in·PEM·format.</p> | 648 | chain.··Note·that·the·certificates·have·to·be·in·PEM·format.</p> |
649 | <p>If·capath·is·passed,·it·must·be·a·directory·prepared·using·the | 649 | <p>If·capath·is·passed,·it·must·be·a·directory·prepared·using·the |
650 | <code·class="docutils·literal·notranslate"><span·class="pre">c_rehash</span></code>·tool·included·with·OpenSSL.··Either,·but·not·both,·of | 650 | <code·class="docutils·literal·notranslate"><span·class="pre">c_rehash</span></code>·tool·included·with·OpenSSL.··Either,·but·not·both,·of |
651 | <em>pemfile</em>·or·<em>capath</em>·may·be·< | 651 | <em>pemfile</em>·or·<em>capath</em>·may·be·<code·class="xref·py·py-data·docutils·literal·notranslate"><span·class="pre">None</span></code>.</p> |
652 | <table·class="docutils·field-list"·frame="void"·rules="none"> | 652 | <table·class="docutils·field-list"·frame="void"·rules="none"> |
653 | <col·class="field-name"·/> | 653 | <col·class="field-name"·/> |
654 | <col·class="field-body"·/> | 654 | <col·class="field-body"·/> |
655 | <tbody·valign="top"> | 655 | <tbody·valign="top"> |
656 | <tr·class="field-odd·field"><th·class="field-name">Parameters:</th><td·class="field-body"><ul·class="first·simple"> | 656 | <tr·class="field-odd·field"><th·class="field-name">Parameters:</th><td·class="field-body"><ul·class="first·simple"> |
657 | <li><strong>cafile</strong>·–·In·which·file·we·can·find·the·certificates·(<code·class="docutils·literal·notranslate"><span·class="pre">bytes</span></code>·or | 657 | <li><strong>cafile</strong>·–·In·which·file·we·can·find·the·certificates·(<code·class="docutils·literal·notranslate"><span·class="pre">bytes</span></code>·or |
658 | <code·class="docutils·literal·notranslate"><span·class="pre">unicode</span></code>).</li> | 658 | <code·class="docutils·literal·notranslate"><span·class="pre">unicode</span></code>).</li> |
Offset 726, 15 lines modified | Offset 726, 15 lines modified | ||
726 | <dd><p>Set·the·list·of·ciphers·to·be·used·in·this·context.</p> | 726 | <dd><p>Set·the·list·of·ciphers·to·be·used·in·this·context.</p> |
727 | <p>See·the·OpenSSL·manual·for·more·information·(e.g. | 727 | <p>See·the·OpenSSL·manual·for·more·information·(e.g. |
728 | <em·class="manpage">ciphers(1)</em>).</p> | 728 | <em·class="manpage">ciphers(1)</em>).</p> |
729 | <table·class="docutils·field-list"·frame="void"·rules="none"> | 729 | <table·class="docutils·field-list"·frame="void"·rules="none"> |
730 | <col·class="field-name"·/> | 730 | <col·class="field-name"·/> |
731 | <col·class="field-body"·/> | 731 | <col·class="field-body"·/> |
732 | <tbody·valign="top"> | 732 | <tbody·valign="top"> |
733 | <tr·class="field-odd·field"><th·class="field-name">Parameters:</th><td·class="field-body"><strong>cipher_list</strong>·(< | 733 | <tr·class="field-odd·field"><th·class="field-name">Parameters:</th><td·class="field-body"><strong>cipher_list</strong>·(<em>bytes</em>)·–·An·OpenSSL·cipher·string.</td> |
734 | </tr> | 734 | </tr> |
735 | <tr·class="field-even·field"><th·class="field-name">Returns:</th><td·class="field-body">None</td> | 735 | <tr·class="field-even·field"><th·class="field-name">Returns:</th><td·class="field-body">None</td> |
736 | </tr> | 736 | </tr> |
737 | </tbody> | 737 | </tbody> |
738 | </table> | 738 | </table> |
739 | </dd></dl> | 739 | </dd></dl> |
Offset 997, 15 lines modified | Offset 997, 15 lines modified | ||
997 | this·Context·object.··This·is·needed·when·doing·session·resumption, | 997 | this·Context·object.··This·is·needed·when·doing·session·resumption, |
998 | because·there·is·no·way·for·a·stored·session·to·know·which·Context | 998 | because·there·is·no·way·for·a·stored·session·to·know·which·Context |
999 | object·it·is·associated·with.</p> | 999 | object·it·is·associated·with.</p> |
1000 | <table·class="docutils·field-list"·frame="void"·rules="none"> | 1000 | <table·class="docutils·field-list"·frame="void"·rules="none"> |
1001 | <col·class="field-name"·/> | 1001 | <col·class="field-name"·/> |
1002 | <col·class="field-body"·/> | 1002 | <col·class="field-body"·/> |
1003 | <tbody·valign="top"> | 1003 | <tbody·valign="top"> |
1004 | <tr·class="field-odd·field"><th·class="field-name">Parameters:</th><td·class="field-body"><strong>buf</strong>·(< | 1004 | <tr·class="field-odd·field"><th·class="field-name">Parameters:</th><td·class="field-body"><strong>buf</strong>·(<em>bytes</em>)·–·The·session·id.</td> |
1005 | </tr> | 1005 | </tr> |
1006 | <tr·class="field-even·field"><th·class="field-name">Returns:</th><td·class="field-body">None</td> | 1006 | <tr·class="field-even·field"><th·class="field-name">Returns:</th><td·class="field-body">None</td> |
1007 | </tr> | 1007 | </tr> |
1008 | </tbody> | 1008 | </tbody> |
1009 | </table> | 1009 | </table> |
1010 | </dd></dl> | 1010 | </dd></dl> |
Offset 1050, 15 lines modified | Offset 1050, 15 lines modified | ||
1050 | <dt·id="OpenSSL.SSL.Context.set_tlsext_use_srtp"> | 1050 | <dt·id="OpenSSL.SSL.Context.set_tlsext_use_srtp"> |
1051 | <code·class="descname">set_tlsext_use_srtp</code><span·class="sig-paren">(</span><em>profiles</em><span·class="sig-paren">)</span><a·class="headerlink"·href="#OpenSSL.SSL.Context.set_tlsext_use_srtp"·title="Permalink·to·this·definition">¶</a></dt> | 1051 | <code·class="descname">set_tlsext_use_srtp</code><span·class="sig-paren">(</span><em>profiles</em><span·class="sig-paren">)</span><a·class="headerlink"·href="#OpenSSL.SSL.Context.set_tlsext_use_srtp"·title="Permalink·to·this·definition">¶</a></dt> |
1052 | <dd><p>Enable·support·for·negotiating·SRTP·keying·material.</p> | 1052 | <dd><p>Enable·support·for·negotiating·SRTP·keying·material.</p> |
1053 | <table·class="docutils·field-list"·frame="void"·rules="none"> | 1053 | <table·class="docutils·field-list"·frame="void"·rules="none"> |
1054 | <col·class="field-name"·/> | 1054 | <col·class="field-name"·/> |
1055 | <col·class="field-body"·/> | 1055 | <col·class="field-body"·/> |
1056 | <tbody·valign="top"> | 1056 | <tbody·valign="top"> |
1057 | <tr·class="field-odd·field"><th·class="field-name">Parameters:</th><td·class="field-body"><strong>profiles</strong>·(< | 1057 | <tr·class="field-odd·field"><th·class="field-name">Parameters:</th><td·class="field-body"><strong>profiles</strong>·(<em>bytes</em>)·–·A·colon·delimited·list·of·protection·profile |
1058 | names,·like·<code·class="docutils·literal·notranslate"><span·class="pre">b'SRTP_AES128_CM_SHA1_80:SRTP_AES128_CM_SHA1_32'</span></code>.</td> | 1058 | names,·like·<code·class="docutils·literal·notranslate"><span·class="pre">b'SRTP_AES128_CM_SHA1_80:SRTP_AES128_CM_SHA1_32'</span></code>.</td> |
1059 | </tr> | 1059 | </tr> |
1060 | <tr·class="field-even·field"><th·class="field-name">Returns:</th><td·class="field-body">None</td> | 1060 | <tr·class="field-even·field"><th·class="field-name">Returns:</th><td·class="field-body">None</td> |
1061 | </tr> | 1061 | </tr> |
1062 | </tbody> | 1062 | </tbody> |
1063 | </table> | 1063 | </table> |
1064 | </dd></dl> | 1064 | </dd></dl> |
Offset 1446, 17 lines modified | Offset 1446, 17 lines modified | ||
1446 | <code·class="descname">get_cipher_bits</code><span·class="sig-paren">(</span><span·class="sig-paren">)</span><a·class="headerlink"·href="#OpenSSL.SSL.Connection.get_cipher_bits"·title="Permalink·to·this·definition">¶</a></dt> | 1446 | <code·class="descname">get_cipher_bits</code><span·class="sig-paren">(</span><span·class="sig-paren">)</span><a·class="headerlink"·href="#OpenSSL.SSL.Connection.get_cipher_bits"·title="Permalink·to·this·definition">¶</a></dt> |
1447 | <dd><p>Obtain·the·number·of·secret·bits·of·the·currently·used·cipher.</p> | 1447 | <dd><p>Obtain·the·number·of·secret·bits·of·the·currently·used·cipher.</p> |
1448 | <table·class="docutils·field-list"·frame="void"·rules="none"> | 1448 | <table·class="docutils·field-list"·frame="void"·rules="none"> |
1449 | <col·class="field-name"·/> | 1449 | <col·class="field-name"·/> |
1450 | <col·class="field-body"·/> | 1450 | <col·class="field-body"·/> |
1451 | <tbody·valign="top"> | 1451 | <tbody·valign="top"> |
1452 | <tr·class="field-odd·field"><th·class="field-name">Returns:</th><td·class="field-body">The·number·of·secret·bits·of·the·currently·used·cipher | 1452 | <tr·class="field-odd·field"><th·class="field-name">Returns:</th><td·class="field-body">The·number·of·secret·bits·of·the·currently·used·cipher |
1453 | or·< | 1453 | or·<code·class="xref·py·py-obj·docutils·literal·notranslate"><span·class="pre">None</span></code>·if·no·connection·has·been·established.</td> |
1454 | </tr> | 1454 | </tr> |
1455 | <tr·class="field-even·field"><th·class="field-name">Return·type:</th><td·class="field-body">< | 1455 | <tr·class="field-even·field"><th·class="field-name">Return·type:</th><td·class="field-body"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">int</span></code>·or·<code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">NoneType</span></code></td> |
1456 | </tr> | 1456 | </tr> |
1457 | </tbody> | 1457 | </tbody> |
1458 | </table> | 1458 | </table> |
1459 | <div·class="versionadded"> | 1459 | <div·class="versionadded"> |
1460 | <p><span·class="versionmodified">New·in·version·0.15.</span></p> | 1460 | <p><span·class="versionmodified">New·in·version·0.15.</span></p> |
1461 | </div> | 1461 | </div> |
1462 | </dd></dl> | 1462 | </dd></dl> |
Offset 1479, 15 lines modified | Offset 1479, 15 lines modified | ||
1479 | <dt·id="OpenSSL.SSL.Connection.get_cipher_name"> | 1479 | <dt·id="OpenSSL.SSL.Connection.get_cipher_name"> |
1480 | <code·class="descname">get_cipher_name</code><span·class="sig-paren">(</span><span·class="sig-paren">)</span><a·class="headerlink"·href="#OpenSSL.SSL.Connection.get_cipher_name"·title="Permalink·to·this·definition">¶</a></dt> | 1480 | <code·class="descname">get_cipher_name</code><span·class="sig-paren">(</span><span·class="sig-paren">)</span><a·class="headerlink"·href="#OpenSSL.SSL.Connection.get_cipher_name"·title="Permalink·to·this·definition">¶</a></dt> |
1481 | <dd><p>Obtain·the·name·of·the·currently·used·cipher.</p> | 1481 | <dd><p>Obtain·the·name·of·the·currently·used·cipher.</p> |
1482 | <table·class="docutils·field-list"·frame="void"·rules="none"> | 1482 | <table·class="docutils·field-list"·frame="void"·rules="none"> |
1483 | <col·class="field-name"·/> | 1483 | <col·class="field-name"·/> |
1484 | <col·class="field-body"·/> | 1484 | <col·class="field-body"·/> |
1485 | <tbody·valign="top"> | 1485 | <tbody·valign="top"> |
1486 | <tr·class="field-odd·field"><th·class="field-name">Returns:</th><td·class="field-body">The·name·of·the·currently·used·cipher·or·< | 1486 | <tr·class="field-odd·field"><th·class="field-name">Returns:</th><td·class="field-body">The·name·of·the·currently·used·cipher·or·<code·class="xref·py·py-obj·docutils·literal·notranslate"><span·class="pre">None</span></code> |
1487 | if·no·connection·has·been·established.</td> | 1487 | if·no·connection·has·been·established.</td> |
1488 | </tr> | 1488 | </tr> |
1489 | <tr·class="field-even·field"><th·class="field-name">Return·type:</th><td·class="field-body"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">unicode</span></code>·or·<code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">NoneType</span></code></td> | 1489 | <tr·class="field-even·field"><th·class="field-name">Return·type:</th><td·class="field-body"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">unicode</span></code>·or·<code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">NoneType</span></code></td> |
1490 | </tr> | 1490 | </tr> |
1491 | </tbody> | 1491 | </tbody> |
Max diff block lines reached; 12188/23235 bytes (52.46%) of diff not shown. |
Offset 160, 15 lines modified | Offset 160, 15 lines modified | ||
160 | ··<div·class="section"·id="backward-compatibility"> | 160 | ··<div·class="section"·id="backward-compatibility"> |
161 | <h1>Backward·Compatibility<a·class="headerlink"·href="#backward-compatibility"·title="Permalink·to·this·headline">¶</a></h1> | 161 | <h1>Backward·Compatibility<a·class="headerlink"·href="#backward-compatibility"·title="Permalink·to·this·headline">¶</a></h1> |
162 | <p>pyOpenSSL·has·a·very·strong·backward·compatibility·policy. | 162 | <p>pyOpenSSL·has·a·very·strong·backward·compatibility·policy. |
163 | Generally·speaking,·you·shouldn’t·ever·be·afraid·of·updating.</p> | 163 | Generally·speaking,·you·shouldn’t·ever·be·afraid·of·updating.</p> |
164 | <p>If·breaking·changes·are·needed·do·be·done,·they·are:</p> | 164 | <p>If·breaking·changes·are·needed·do·be·done,·they·are:</p> |
165 | <ol·class="arabic·simple"> | 165 | <ol·class="arabic·simple"> |
166 | <li>…announced·in·the·<a·class="reference·internal"·href="changelog.html"><span·class="doc">Changelog</span></a>.</li> | 166 | <li>…announced·in·the·<a·class="reference·internal"·href="changelog.html"><span·class="doc">Changelog</span></a>.</li> |
167 | <li>…the·old·behavior·raises·a·< | 167 | <li>…the·old·behavior·raises·a·<code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">DeprecationWarning</span></code>·for·a·year.</li> |
168 | <li>…are·done·with·another·announcement·in·the·<a·class="reference·internal"·href="changelog.html"><span·class="doc">Changelog</span></a>.</li> | 168 | <li>…are·done·with·another·announcement·in·the·<a·class="reference·internal"·href="changelog.html"><span·class="doc">Changelog</span></a>.</li> |
169 | </ol> | 169 | </ol> |
170 | </div> | 170 | </div> |
171 | ···········</div> | 171 | ···········</div> |
172 | ··········· | 172 | ··········· |
Offset 183, 20 lines modified | Offset 183, 20 lines modified | ||
183 | The·problems·that·originally·existed·no·longer·do | 183 | The·problems·that·originally·existed·no·longer·do |
184 | (if·you·are·interested·in·the·details·you·can·find·descriptions·of·those·problems·in·the·version·control·history·for·this·document).</p> | 184 | (if·you·are·interested·in·the·details·you·can·find·descriptions·of·those·problems·in·the·version·control·history·for·this·document).</p> |
185 | </div> | 185 | </div> |
186 | <div·class="section"·id="accessing-socket-methods"> | 186 | <div·class="section"·id="accessing-socket-methods"> |
187 | <span·id="socket-methods"></span><h2>Accessing·Socket·Methods<a·class="headerlink"·href="#accessing-socket-methods"·title="Permalink·to·this·headline">¶</a></h2> | 187 | <span·id="socket-methods"></span><h2>Accessing·Socket·Methods<a·class="headerlink"·href="#accessing-socket-methods"·title="Permalink·to·this·headline">¶</a></h2> |
188 | <p>We·quickly·saw·the·benefit·of·wrapping·socket·methods·in·the | 188 | <p>We·quickly·saw·the·benefit·of·wrapping·socket·methods·in·the |
189 | <a·class="reference·internal"·href="api/ssl.html#OpenSSL.SSL.Connection"·title="OpenSSL.SSL.Connection"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SSL.Connection</span></code></a>·class,·for·an·easy·transition·into·using·SSL.·The | 189 | <a·class="reference·internal"·href="api/ssl.html#OpenSSL.SSL.Connection"·title="OpenSSL.SSL.Connection"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SSL.Connection</span></code></a>·class,·for·an·easy·transition·into·using·SSL.·The |
190 | problem·here·is·that·the·< | 190 | problem·here·is·that·the·<code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">socket</span></code>·module·lacks·a·C·API,·and·all·the |
191 | methods·are·declared·static.·One·approach·would·be·to·have·<a·class="reference·internal"·href="api.html#module-OpenSSL"·title="OpenSSL:·Python·interface·to·OpenSSL"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">OpenSSL</span></code></a>·as | 191 | methods·are·declared·static.·One·approach·would·be·to·have·<a·class="reference·internal"·href="api.html#module-OpenSSL"·title="OpenSSL:·Python·interface·to·OpenSSL"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">OpenSSL</span></code></a>·as |
192 | a·submodule·to·the·< | 192 | a·submodule·to·the·<code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">socket</span></code>·module,·placing·all·the·code·in |
193 | <code·class="docutils·literal·notranslate"><span·class="pre">socketmodule.c</span></code>,·but·this·is·obviously·not·a·good·solution,·since·you | 193 | <code·class="docutils·literal·notranslate"><span·class="pre">socketmodule.c</span></code>,·but·this·is·obviously·not·a·good·solution,·since·you |
194 | might·not·want·to·import·tonnes·of·extra·stuff·you’re·not·going·to·use·when | 194 | might·not·want·to·import·tonnes·of·extra·stuff·you’re·not·going·to·use·when |
195 | importing·the·< | 195 | importing·the·<code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">socket</span></code>·module.·The·other·approach·is·to·somehow·get·a |
196 | pointer·to·the·method·to·be·called,·either·the·C·function,·or·a·callable·Python | 196 | pointer·to·the·method·to·be·called,·either·the·C·function,·or·a·callable·Python |
197 | object.·This·is·not·really·a·good·solution·either,·since·there’s·a·lot·of | 197 | object.·This·is·not·really·a·good·solution·either,·since·there’s·a·lot·of |
198 | lookups·involved.</p> | 198 | lookups·involved.</p> |
199 | <p>The·way·it·works·is·that·you·have·to·supply·a·<code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">socket</span></code>-·<strong>like</strong>·transport | 199 | <p>The·way·it·works·is·that·you·have·to·supply·a·<code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">socket</span></code>-·<strong>like</strong>·transport |
200 | object·to·the·<a·class="reference·internal"·href="api/ssl.html#OpenSSL.SSL.Connection"·title="OpenSSL.SSL.Connection"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SSL.Connection</span></code></a>.·The·only·requirement·of·this·object·is | 200 | object·to·the·<a·class="reference·internal"·href="api/ssl.html#OpenSSL.SSL.Connection"·title="OpenSSL.SSL.Connection"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SSL.Connection</span></code></a>.·The·only·requirement·of·this·object·is |
201 | that·it·has·a·<code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">fileno()</span></code>·method·that·returns·a·file·descriptor·that’s | 201 | that·it·has·a·<code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">fileno()</span></code>·method·that·returns·a·file·descriptor·that’s |
202 | valid·at·the·C·level·(i.e.·you·can·use·the·system·calls·read·and·write).·If·you | 202 | valid·at·the·C·level·(i.e.·you·can·use·the·system·calls·read·and·write).·If·you |