mirror of
https://github.com/hakril/PythonForWindows
synced 2026-06-08 14:31:45 +00:00
738 lines
53 KiB
HTML
738 lines
53 KiB
HTML
|
||
<!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="X-UA-Compatible" content="IE=Edge" />
|
||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||
<title>10. windows.crypto – CryptoAPI — PythonForWindows 0.4 documentation</title>
|
||
<link rel="stylesheet" href="_static/classic.css" type="text/css" />
|
||
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
|
||
<link rel="stylesheet" href="_static/css/mbasic.css" type="text/css" />
|
||
<script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
|
||
<script type="text/javascript" src="_static/jquery.js"></script>
|
||
<script type="text/javascript" src="_static/underscore.js"></script>
|
||
<script type="text/javascript" src="_static/doctools.js"></script>
|
||
<link rel="index" title="Index" href="genindex.html" />
|
||
<link rel="search" title="Search" href="search.html" />
|
||
<link rel="next" title="11. windows.alpc – Advanced Local Procedure Call" href="alpc.html" />
|
||
<link rel="prev" title="9. windows.com - Component Object Model" href="com.html" />
|
||
</head><body>
|
||
<div class="related" role="navigation" aria-label="related navigation">
|
||
<h3>Navigation</h3>
|
||
<ul>
|
||
<li class="right" style="margin-right: 10px">
|
||
<a href="genindex.html" title="General Index"
|
||
accesskey="I">index</a></li>
|
||
<li class="right" >
|
||
<a href="py-modindex.html" title="Python Module Index"
|
||
>modules</a> |</li>
|
||
<li class="right" >
|
||
<a href="alpc.html" title="11. windows.alpc – Advanced Local Procedure Call"
|
||
accesskey="N">next</a> |</li>
|
||
<li class="right" >
|
||
<a href="com.html" title="9. windows.com - Component Object Model"
|
||
accesskey="P">previous</a> |</li>
|
||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 0.4 documentation</a> »</li>
|
||
</ul>
|
||
</div>
|
||
|
||
<div class="document">
|
||
<div class="documentwrapper">
|
||
<div class="bodywrapper">
|
||
<div class="body" role="main">
|
||
|
||
<div class="section" id="module-windows.crypto">
|
||
<span id="windows-crypto-cryptoapi"></span><h1>10. <code class="docutils literal notranslate"><span class="pre">windows.crypto</span></code> – CryptoAPI<a class="headerlink" href="#module-windows.crypto" title="Permalink to this headline">¶</a></h1>
|
||
<p>The <a class="reference internal" href="#module-windows.crypto" title="windows.crypto"><code class="xref py py-mod docutils literal notranslate"><span class="pre">windows.crypto</span></code></a> module offers some wrappers arround the <a class="reference external" href="https://msdn.microsoft.com/en-us/library/windows/desktop/aa380252(v=vs.85).aspx">CryptoAPI</a>.</p>
|
||
<p>The main goal of this module (for now) is providing simple encryption/decryption methods.</p>
|
||
<div class="section" id="encryption">
|
||
<h2>10.1. Encryption<a class="headerlink" href="#encryption" title="Permalink to this headline">¶</a></h2>
|
||
<div class="admonition note">
|
||
<p class="first admonition-title">Note</p>
|
||
<p class="last">See sample <a class="reference internal" href="sample.html#sample-crypto-encryption"><span class="std std-ref">Encryption demo</span></a></p>
|
||
</div>
|
||
<div class="section" id="encrypt">
|
||
<h3>10.1.1. encrypt<a class="headerlink" href="#encrypt" title="Permalink to this headline">¶</a></h3>
|
||
<dl class="function">
|
||
<dt id="windows.crypto.encrypt">
|
||
<code class="descclassname">windows.crypto.</code><code class="descname">encrypt</code><span class="sig-paren">(</span><em>cert_or_certlist</em>, <em>msg</em>, <em>algo=szOID_NIST_AES256_CBC('2.16.840.1.101.3.4.1.42')</em>, <em>initvector=GenerateInitVector()</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/crypto/encrypt_decrypt.html#encrypt"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.crypto.encrypt" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Encrypt <code class="docutils literal notranslate"><span class="pre">msg</span></code> one or many <a class="reference internal" href="#windows.crypto.Certificate" title="windows.crypto.Certificate"><code class="xref py py-class docutils literal notranslate"><span class="pre">Certificate</span></code></a> using <code class="docutils literal notranslate"><span class="pre">algo</span></code> with the initial
|
||
vector <code class="docutils literal notranslate"><span class="pre">initvector</span></code>.</p>
|
||
<p>If <code class="docutils literal notranslate"><span class="pre">geninitvector</span></code> is left as it is, it will generate a random one.</p>
|
||
<p>Algorithms supported by <code class="docutils literal notranslate"><span class="pre">GenerateInitVector</span></code> are:</p>
|
||
<blockquote>
|
||
<div><ul class="simple">
|
||
<li><code class="docutils literal notranslate"><span class="pre">szOID_OIWSEC_desCBC</span></code></li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">szOID_RSA_DES_EDE3_CBC</span></code></li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">szOID_NIST_AES128_CBC</span></code></li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">szOID_NIST_AES192_CBC</span></code></li>
|
||
<li><code class="docutils literal notranslate"><span class="pre">szOID_NIST_AES256_CBC</span></code></li>
|
||
</ul>
|
||
</div></blockquote>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>cert_or_certlist</strong> (<a class="reference internal" href="#windows.crypto.Certificate" title="windows.crypto.Certificate"><code class="xref py py-class docutils literal notranslate"><span class="pre">Certificate</span></code></a> | [<a class="reference internal" href="#windows.crypto.Certificate" title="windows.crypto.Certificate"><code class="xref py py-class docutils literal notranslate"><span class="pre">Certificate</span></code></a>]) – One or many <a class="reference internal" href="#windows.crypto.Certificate" title="windows.crypto.Certificate"><code class="xref py py-class docutils literal notranslate"><span class="pre">Certificate</span></code></a> used to encrypt the msg</td>
|
||
</tr>
|
||
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bytearray" title="(in Python v2.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bytearray</span></code></a>: The encrypted message</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="decrypt">
|
||
<h3>10.1.2. decrypt<a class="headerlink" href="#decrypt" title="Permalink to this headline">¶</a></h3>
|
||
<dl class="function">
|
||
<dt id="windows.crypto.decrypt">
|
||
<code class="descclassname">windows.crypto.</code><code class="descname">decrypt</code><span class="sig-paren">(</span><em>cert_store</em>, <em>encrypted</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/crypto/encrypt_decrypt.html#decrypt"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.crypto.decrypt" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Try to decrypt the <code class="docutils literal notranslate"><span class="pre">encrypted</span></code> msg with any certificate in <code class="docutils literal notranslate"><span class="pre">cert_store</span></code>.</p>
|
||
<p>If there is no certificate able to decrypt the message <code class="docutils literal notranslate"><span class="pre">Kernel32Error(winerror=0x8009200c)</span></code> is raised.</p>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>cert_store</strong> (<a class="reference internal" href="#windows.crypto.CertificateStore" title="windows.crypto.CertificateStore"><code class="xref py py-class docutils literal notranslate"><span class="pre">CertificateStore</span></code></a>) – </td>
|
||
</tr>
|
||
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>: The decrypted message</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="import-pfx">
|
||
<h3>10.1.3. import_pfx<a class="headerlink" href="#import-pfx" title="Permalink to this headline">¶</a></h3>
|
||
<dl class="function">
|
||
<dt id="windows.crypto.import_pfx">
|
||
<code class="descclassname">windows.crypto.</code><code class="descname">import_pfx</code><span class="sig-paren">(</span><em>pfx</em>, <em>password=None</em>, <em>flags=37376L</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/crypto/certificate.html#import_pfx"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.crypto.import_pfx" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Import the file <code class="docutils literal notranslate"><span class="pre">pfx</span></code> with the <code class="docutils literal notranslate"><span class="pre">password</span></code>.</p>
|
||
<p><code class="docutils literal notranslate"><span class="pre">default</span> <span class="pre">flags</span> <span class="pre">=</span> <span class="pre">PKCS12_NO_PERSIST_KEY</span> <span class="pre">|</span> <span class="pre">CRYPT_USER_KEYSET</span></code>.</p>
|
||
<p><code class="docutils literal notranslate"><span class="pre">PKCS12_NO_PERSIST_KEY</span></code> tells <code class="docutils literal notranslate"><span class="pre">CryptoAPI</span></code> to NOT save the keys in a on-disk container.</p>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><a class="reference internal" href="#windows.crypto.CertificateStore" title="windows.crypto.CertificateStore"><code class="xref py py-class docutils literal notranslate"><span class="pre">CertificateStore</span></code></a></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</dd></dl>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="section" id="certificate">
|
||
<h2>10.2. Certificate<a class="headerlink" href="#certificate" title="Permalink to this headline">¶</a></h2>
|
||
<div class="admonition warning">
|
||
<p class="first admonition-title">Warning</p>
|
||
<p>The classes described here are still under test and possible rewrite/refactor.</p>
|
||
<p class="last">The classes, methods and properties described here will problably change as I haven’t yet had the time
|
||
to try it out in real cases and figure out the final look of the API I want to do.</p>
|
||
</div>
|
||
<div class="admonition note">
|
||
<p class="first admonition-title">Note</p>
|
||
<p class="last">See sample <a class="reference internal" href="sample.html#sample-crypto-certificate"><span class="std std-ref">Certificate demo</span></a></p>
|
||
</div>
|
||
<div class="section" id="id1">
|
||
<h3>10.2.1. Certificate<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h3>
|
||
<dl class="class">
|
||
<dt id="windows.crypto.Certificate">
|
||
<em class="property">class </em><code class="descclassname">windows.crypto.</code><code class="descname">Certificate</code><a class="reference internal" href="_modules/windows/crypto/certificate.html#Certificate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.crypto.Certificate" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="winstructs_generated.html#windows.generated_def.winstructs._CERT_CONTEXT" title="windows.generated_def.winstructs._CERT_CONTEXT"><code class="xref py py-class docutils literal notranslate"><span class="pre">windows.generated_def.winstructs._CERT_CONTEXT</span></code></a></p>
|
||
<p>Represent a Certificate</p>
|
||
<dl class="attribute">
|
||
<dt id="windows.crypto.Certificate.chains">
|
||
<code class="descname">chains</code><a class="headerlink" href="#windows.crypto.Certificate.chains" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>The list of chain context available for this certificate. Each elements of this list is a list of <code class="docutils literal notranslate"><span class="pre">Certificate</span></code> that should
|
||
go from the <code class="docutils literal notranslate"><span class="pre">self</span></code> certificate to a trusted certificate.</p>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">[[<a class="reference internal" href="#windows.crypto.Certificate" title="windows.crypto.Certificate"><code class="xref py py-class docutils literal notranslate"><span class="pre">Certificate</span></code></a>]] – A list of chain (list) of <a class="reference internal" href="#windows.crypto.Certificate" title="windows.crypto.Certificate"><code class="xref py py-class docutils literal notranslate"><span class="pre">Certificate</span></code></a></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="windows.crypto.Certificate.distinguished_name">
|
||
<code class="descname">distinguished_name</code><a class="headerlink" href="#windows.crypto.Certificate.distinguished_name" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>The distinguished name (DN) of the certificate.</p>
|
||
<p>Example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">x</span>
|
||
<span class="go"><Certificate "Microsoft Windows Production PCA 2011" serial="61 07 76 56 00 00 00 00 00 08"></span>
|
||
<span class="gp">>>> </span><span class="n">x</span><span class="o">.</span><span class="n">distinguished_name</span>
|
||
<span class="go">'C=US, S=Washington, L=Redmond, O=Microsoft Corporation, CN=Microsoft Windows Production PCA 2011'</span>
|
||
</pre></div>
|
||
</div>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="windows.crypto.Certificate.duplicate">
|
||
<code class="descname">duplicate</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/crypto/certificate.html#Certificate.duplicate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.crypto.Certificate.duplicate" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Duplicate the certificate by incrementing the internal refcount. (see <a class="reference external" href="https://msdn.microsoft.com/en-us/library/windows/desktop/aa376045(v=vs.85).aspx">CertDuplicateCertificateContext</a>)</p>
|
||
<p>note: The object returned is <code class="docutils literal notranslate"><span class="pre">self</span></code></p>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><a class="reference internal" href="#windows.crypto.Certificate" title="windows.crypto.Certificate"><code class="xref py py-class docutils literal notranslate"><span class="pre">Certificate</span></code></a></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="windows.crypto.Certificate.encoded">
|
||
<code class="descname">encoded</code><a class="headerlink" href="#windows.crypto.Certificate.encoded" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>The encoded certificate.</p>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bytearray" title="(in Python v2.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bytearray</span></code></a></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</dd></dl>
|
||
|
||
<dl class="classmethod">
|
||
<dt id="windows.crypto.Certificate.from_buffer">
|
||
<em class="property">classmethod </em><code class="descname">from_buffer</code><span class="sig-paren">(</span><em>data</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/crypto/certificate.html#Certificate.from_buffer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.crypto.Certificate.from_buffer" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Create a <a class="reference internal" href="#windows.crypto.Certificate" title="windows.crypto.Certificate"><code class="xref py py-class docutils literal notranslate"><span class="pre">Certificate</span></code></a> from the buffer <code class="docutils literal notranslate"><span class="pre">data</span></code></p>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><a class="reference internal" href="#windows.crypto.Certificate" title="windows.crypto.Certificate"><code class="xref py py-class docutils literal notranslate"><span class="pre">Certificate</span></code></a></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</dd></dl>
|
||
|
||
<dl class="classmethod">
|
||
<dt id="windows.crypto.Certificate.from_file">
|
||
<em class="property">classmethod </em><code class="descname">from_file</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/crypto/certificate.html#Certificate.from_file"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.crypto.Certificate.from_file" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Create a <a class="reference internal" href="#windows.crypto.Certificate" title="windows.crypto.Certificate"><code class="xref py py-class docutils literal notranslate"><span class="pre">Certificate</span></code></a> from the file <code class="docutils literal notranslate"><span class="pre">filename</span></code></p>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><a class="reference internal" href="#windows.crypto.Certificate" title="windows.crypto.Certificate"><code class="xref py py-class docutils literal notranslate"><span class="pre">Certificate</span></code></a></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="windows.crypto.Certificate.get_name">
|
||
<code class="descname">get_name</code><span class="sig-paren">(</span><em>nametype=CERT_NAME_SIMPLE_DISPLAY_TYPE(0x4L)</em>, <em>param_type=0</em>, <em>flags=0</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/crypto/certificate.html#Certificate.get_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.crypto.Certificate.get_name" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Retrieve the subject or issuer name of the certificate.
|
||
See <a class="reference external" href="https://msdn.microsoft.com/en-us/library/windows/desktop/aa376086(v=vs.85).aspx">CertGetNameStringA</a></p>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="windows.crypto.Certificate.issuer">
|
||
<code class="descname">issuer</code><a class="headerlink" href="#windows.crypto.Certificate.issuer" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>The name of the certificate’s issuer.</p>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="windows.crypto.Certificate.name">
|
||
<code class="descname">name</code><a class="headerlink" href="#windows.crypto.Certificate.name" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>The name of the certificate.</p>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="windows.crypto.Certificate.properties">
|
||
<code class="descname">properties</code><a class="headerlink" href="#windows.crypto.Certificate.properties" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>The properties of the certificate</p>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">[<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> or <a class="reference internal" href="generated.html#windows.generated_def.Flag" title="windows.generated_def.Flag"><code class="xref py py-class docutils literal notranslate"><span class="pre">Flag</span></code></a>] – A list of property ID</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="windows.crypto.Certificate.raw_serial">
|
||
<code class="descname">raw_serial</code><a class="headerlink" href="#windows.crypto.Certificate.raw_serial" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>The raw serial number of the certificate.</p>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">[<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>]: A list of int <code class="docutils literal notranslate"><span class="pre">0</span> <span class="pre"><=</span> <span class="pre">x</span> <span class="pre"><=</span> <span class="pre">255</span></code></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="windows.crypto.Certificate.serial">
|
||
<code class="descname">serial</code><a class="headerlink" href="#windows.crypto.Certificate.serial" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>The string representation of the certificate’s serial.</p>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="windows.crypto.Certificate.store">
|
||
<code class="descname">store</code><a class="headerlink" href="#windows.crypto.Certificate.store" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>The certificate store that contains the certificate</p>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference internal" href="#windows.crypto.CertificateStore" title="windows.crypto.CertificateStore"><code class="xref py py-class docutils literal notranslate"><span class="pre">CertificateStore</span></code></a></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="windows.crypto.Certificate.thumbprint">
|
||
<code class="descname">thumbprint</code><a class="headerlink" href="#windows.crypto.Certificate.thumbprint" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>The thumbprint of the certificate (which is the sha1 of the encoded cert).</p>
|
||
<p>Example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">x</span>
|
||
<span class="go"><Certificate "YOLO2" serial="6f 1d 3e 7d d9 77 59 a9 4c 1c 53 dc 80 db 0c fe"></span>
|
||
<span class="gp">>>> </span><span class="n">x</span><span class="o">.</span><span class="n">thumbprint</span>
|
||
<span class="go">'E2 A2 DB 76 A1 DD 8E 70 0D C6 9F CB 71 CF 29 12 C6 D9 78 97'</span>
|
||
</pre></div>
|
||
</div>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#str" title="(in Python v2.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="windows.crypto.Certificate.version">
|
||
<code class="descname">version</code><a class="headerlink" href="#windows.crypto.Certificate.version" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>The version number of the certificate</p>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="certificatestore">
|
||
<h3>10.2.2. CertificateStore<a class="headerlink" href="#certificatestore" title="Permalink to this headline">¶</a></h3>
|
||
<dl class="class">
|
||
<dt id="windows.crypto.CertificateStore">
|
||
<em class="property">class </em><code class="descclassname">windows.crypto.</code><code class="descname">CertificateStore</code><a class="reference internal" href="_modules/windows/crypto/certificate.html#CertificateStore"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.crypto.CertificateStore" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>A certificate store</p>
|
||
<dl class="method">
|
||
<dt id="windows.crypto.CertificateStore.add_certificate">
|
||
<code class="descname">add_certificate</code><span class="sig-paren">(</span><em>certificate</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/crypto/certificate.html#CertificateStore.add_certificate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.crypto.CertificateStore.add_certificate" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Add a certificate to the store</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="windows.crypto.CertificateStore.certs">
|
||
<code class="descname">certs</code><a class="headerlink" href="#windows.crypto.CertificateStore.certs" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>The list of certificates in the store</p>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body">[<a class="reference internal" href="#windows.crypto.Certificate" title="windows.crypto.Certificate"><code class="xref py py-class docutils literal notranslate"><span class="pre">Certificate</span></code></a>] – A list of certificate</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="windows.crypto.CertificateStore.find">
|
||
<code class="descname">find</code><span class="sig-paren">(</span><em>issuer</em>, <em>serialnumber</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/crypto/certificate.html#CertificateStore.find"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.crypto.CertificateStore.find" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Return the certificate that match <cite>issuer</cite> and <cite>serialnumber</cite></p>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><a class="reference internal" href="#windows.crypto.Certificate" title="windows.crypto.Certificate"><code class="xref py py-class docutils literal notranslate"><span class="pre">Certificate</span></code></a></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</dd></dl>
|
||
|
||
<dl class="classmethod">
|
||
<dt id="windows.crypto.CertificateStore.from_file">
|
||
<em class="property">classmethod </em><code class="descname">from_file</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/crypto/certificate.html#CertificateStore.from_file"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.crypto.CertificateStore.from_file" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Create a new <a class="reference internal" href="#windows.crypto.CertificateStore" title="windows.crypto.CertificateStore"><code class="xref py py-class docutils literal notranslate"><span class="pre">CertificateStore</span></code></a> from <code class="docutils literal notranslate"><span class="pre">filename</span></code></p>
|
||
</dd></dl>
|
||
|
||
<dl class="classmethod">
|
||
<dt id="windows.crypto.CertificateStore.from_system_store">
|
||
<em class="property">classmethod </em><code class="descname">from_system_store</code><span class="sig-paren">(</span><em>store_name</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/crypto/certificate.html#CertificateStore.from_system_store"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.crypto.CertificateStore.from_system_store" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Create a new <a class="reference internal" href="#windows.crypto.CertificateStore" title="windows.crypto.CertificateStore"><code class="xref py py-class docutils literal notranslate"><span class="pre">CertificateStore</span></code></a> from system store <code class="docutils literal notranslate"><span class="pre">store_name</span></code>
|
||
(see <a class="reference external" href="https://msdn.microsoft.com/en-us/library/windows/desktop/aa388136(v=vs.85).aspx">System Store Locations</a>)</p>
|
||
</dd></dl>
|
||
|
||
<dl class="classmethod">
|
||
<dt id="windows.crypto.CertificateStore.new_in_memory">
|
||
<em class="property">classmethod </em><code class="descname">new_in_memory</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/crypto/certificate.html#CertificateStore.new_in_memory"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.crypto.CertificateStore.new_in_memory" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Create a new temporary <a class="reference internal" href="#windows.crypto.CertificateStore" title="windows.crypto.CertificateStore"><code class="xref py py-class docutils literal notranslate"><span class="pre">CertificateStore</span></code></a> in memory</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="windows.crypto.CertificateStore.value">
|
||
<code class="descname">value</code><a class="headerlink" href="#windows.crypto.CertificateStore.value" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>current value</p>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="cryptobject">
|
||
<h3>10.2.3. CryptObject<a class="headerlink" href="#cryptobject" title="Permalink to this headline">¶</a></h3>
|
||
<dl class="class">
|
||
<dt id="windows.crypto.CryptObject">
|
||
<em class="property">class </em><code class="descclassname">windows.crypto.</code><code class="descname">CryptObject</code><span class="sig-paren">(</span><em>filename</em>, <em>content_type=CERT_QUERY_CONTENT_FLAG_ALL(0x3ffeL)</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/crypto/certificate.html#CryptObject"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.crypto.CryptObject" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Extract information from an CryptoAPI object.
|
||
(see <a class="reference external" href="https://msdn.microsoft.com/en-us/library/windows/desktop/aa380264(v=vs.85).aspx">CryptQueryObject</a>)</p>
|
||
<p>Current main use is extracting the signers certificates from a PE file.</p>
|
||
<dl class="attribute">
|
||
<dt id="windows.crypto.CryptObject.cert_store">
|
||
<code class="descname">cert_store</code><em class="property"> = None</em><a class="headerlink" href="#windows.crypto.CryptObject.cert_store" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>The <a class="reference internal" href="#windows.crypto.CertificateStore" title="windows.crypto.CertificateStore"><code class="xref py py-class docutils literal notranslate"><span class="pre">CertificateStore</span></code></a> that includes all of the certificates, CRLs, and CTLs in the object</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="windows.crypto.CryptObject.content_type">
|
||
<code class="descname">content_type</code><em class="property"> = None</em><a class="headerlink" href="#windows.crypto.CryptObject.content_type" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>The type of the opened message</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="windows.crypto.CryptObject.crypt_msg">
|
||
<code class="descname">crypt_msg</code><em class="property"> = None</em><a class="headerlink" href="#windows.crypto.CryptObject.crypt_msg" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>The <a class="reference internal" href="#windows.crypto.CryptMessage" title="windows.crypto.CryptMessage"><code class="xref py py-class docutils literal notranslate"><span class="pre">CryptMessage</span></code></a> for any <code class="docutils literal notranslate"><span class="pre">PKCS7</span></code> content in the object</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="windows.crypto.CryptObject.signers_and_certs">
|
||
<code class="descname">signers_and_certs</code><a class="headerlink" href="#windows.crypto.CryptObject.signers_and_certs" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>The list of signer info and certificates signing the object.</p>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">[(<a class="reference internal" href="winstructs_generated.html#windows.generated_def.winstructs.CMSG_SIGNER_INFO" title="windows.generated_def.winstructs.CMSG_SIGNER_INFO"><code class="xref py py-class docutils literal notranslate"><span class="pre">CMSG_SIGNER_INFO</span></code></a>, <a class="reference internal" href="#windows.crypto.Certificate" title="windows.crypto.Certificate"><code class="xref py py-class docutils literal notranslate"><span class="pre">Certificate</span></code></a>)]</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<div class="admonition note">
|
||
<p class="first admonition-title">Note</p>
|
||
<p class="last"><a class="reference internal" href="winstructs_generated.html#windows.generated_def.winstructs.CMSG_SIGNER_INFO" title="windows.generated_def.winstructs.CMSG_SIGNER_INFO"><code class="xref py py-class docutils literal notranslate"><span class="pre">CMSG_SIGNER_INFO</span></code></a> might be changed to a wrapping-subclass.</p>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="cryptmessage">
|
||
<h3>10.2.4. CryptMessage<a class="headerlink" href="#cryptmessage" title="Permalink to this headline">¶</a></h3>
|
||
<dl class="class">
|
||
<dt id="windows.crypto.CryptMessage">
|
||
<em class="property">class </em><code class="descclassname">windows.crypto.</code><code class="descname">CryptMessage</code><a class="reference internal" href="_modules/windows/crypto/cryptmsg.html#CryptMessage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.crypto.CryptMessage" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Represent a PKCS #7 message
|
||
(see <a class="reference external" href="https://msdn.microsoft.com/en-us/library/windows/desktop/aa380252(v=vs.85).aspx#low_level_message_functions">Low-level Message Functions</a>)</p>
|
||
<dl class="attribute">
|
||
<dt id="windows.crypto.CryptMessage.certs">
|
||
<code class="descname">certs</code><a class="headerlink" href="#windows.crypto.CryptMessage.certs" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>The list of <a class="reference internal" href="#windows.crypto.Certificate" title="windows.crypto.Certificate"><code class="xref py py-class docutils literal notranslate"><span class="pre">Certificate</span></code></a> embded in the message</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="windows.crypto.CryptMessage.get_cert">
|
||
<code class="descname">get_cert</code><span class="sig-paren">(</span><em>index=0</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/crypto/cryptmsg.html#CryptMessage.get_cert"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.crypto.CryptMessage.get_cert" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Return embded <a class="reference internal" href="#windows.crypto.Certificate" title="windows.crypto.Certificate"><code class="xref py py-class docutils literal notranslate"><span class="pre">Certificate</span></code></a> number <code class="docutils literal notranslate"><span class="pre">index</span></code>.</p>
|
||
<div class="admonition note">
|
||
<p class="first admonition-title">Note</p>
|
||
<p class="last">Not all embded certificate are directly used to sign the <a class="reference internal" href="#windows.crypto.CryptObject" title="windows.crypto.CryptObject"><code class="xref py py-class docutils literal notranslate"><span class="pre">CryptObject</span></code></a>.</p>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="windows.crypto.CryptMessage.get_signer_data">
|
||
<code class="descname">get_signer_data</code><span class="sig-paren">(</span><em>index=0</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/crypto/cryptmsg.html#CryptMessage.get_signer_data"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.crypto.CryptMessage.get_signer_data" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Returns the signer informations for signer nb <code class="docutils literal notranslate"><span class="pre">index</span></code></p>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><a class="reference internal" href="winstructs_generated.html#windows.generated_def.winstructs.CMSG_SIGNER_INFO" title="windows.generated_def.winstructs.CMSG_SIGNER_INFO"><code class="xref py py-class docutils literal notranslate"><span class="pre">CMSG_SIGNER_INFO</span></code></a></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="windows.crypto.CryptMessage.nb_cert">
|
||
<code class="descname">nb_cert</code><a class="headerlink" href="#windows.crypto.CryptMessage.nb_cert" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>The number of certificate embded in the <a class="reference internal" href="#windows.crypto.CryptObject" title="windows.crypto.CryptObject"><code class="xref py py-class docutils literal notranslate"><span class="pre">CryptObject</span></code></a></p>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="windows.crypto.CryptMessage.nb_signer">
|
||
<code class="descname">nb_signer</code><a class="headerlink" href="#windows.crypto.CryptMessage.nb_signer" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>The number of signers for the CryptObject</p>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="windows.crypto.CryptMessage.signers">
|
||
<code class="descname">signers</code><a class="headerlink" href="#windows.crypto.CryptMessage.signers" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>The list of <a class="reference internal" href="winstructs_generated.html#windows.generated_def.winstructs.CMSG_SIGNER_INFO" title="windows.generated_def.winstructs.CMSG_SIGNER_INFO"><code class="xref py py-class docutils literal notranslate"><span class="pre">CMSG_SIGNER_INFO</span></code></a> embed in the message</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="windows.crypto.CryptMessage.value">
|
||
<code class="descname">value</code><a class="headerlink" href="#windows.crypto.CryptMessage.value" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>current value</p>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="cryptcontext">
|
||
<h3>10.2.5. CryptContext<a class="headerlink" href="#cryptcontext" title="Permalink to this headline">¶</a></h3>
|
||
<dl class="class">
|
||
<dt id="windows.crypto.CryptContext">
|
||
<em class="property">class </em><code class="descclassname">windows.crypto.</code><code class="descname">CryptContext</code><span class="sig-paren">(</span><em>pszContainer=None</em>, <em>pszProvider=None</em>, <em>dwProvType=0</em>, <em>dwFlags=0</em>, <em>retrycreate=False</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/crypto/certificate.html#CryptContext"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.crypto.CryptContext" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>A context manager arround <code class="docutils literal notranslate"><span class="pre">CryptAcquireContextW</span></code> & <code class="docutils literal notranslate"><span class="pre">CryptReleaseContext</span></code></p>
|
||
<div class="admonition note">
|
||
<p class="first admonition-title">Note</p>
|
||
<p class="last">see usage in sample <a class="reference internal" href="sample.html#sample-crypto-encryption"><span class="std std-ref">Encryption demo</span></a> (function <code class="docutils literal notranslate"><span class="pre">genkeys</span></code>)</p>
|
||
</div>
|
||
<dl class="attribute">
|
||
<dt id="windows.crypto.CryptContext.contents">
|
||
<code class="descname">contents</code><a class="headerlink" href="#windows.crypto.CryptContext.contents" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>the object this pointer points to (read-write)</p>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="section" id="module-windows.crypto.generation">
|
||
<span id="generating-componants"></span><h2>10.3. Generating componants<a class="headerlink" href="#module-windows.crypto.generation" title="Permalink to this headline">¶</a></h2>
|
||
<p>This module is used to generate selfsigned-certificates / keypair and pfx file.</p>
|
||
<div class="admonition note">
|
||
<p class="first admonition-title">Note</p>
|
||
<p class="last">See <code class="docutils literal notranslate"><span class="pre">genkeys()</span></code> in the sample <a class="reference internal" href="sample.html#sample-crypto-encryption"><span class="std std-ref">Encryption demo</span></a></p>
|
||
</div>
|
||
<div class="section" id="generate-selfsigned-certificate">
|
||
<h3>10.3.1. generate_selfsigned_certificate<a class="headerlink" href="#generate-selfsigned-certificate" title="Permalink to this headline">¶</a></h3>
|
||
<dl class="function">
|
||
<dt id="windows.crypto.generation.generate_selfsigned_certificate">
|
||
<code class="descclassname">windows.crypto.generation.</code><code class="descname">generate_selfsigned_certificate</code><span class="sig-paren">(</span><em>name='CN=DEFAULT'</em>, <em>prov=None</em>, <em>key_info=None</em>, <em>flags=0</em>, <em>signature_algo=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/crypto/generation.html#generate_selfsigned_certificate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.crypto.generation.generate_selfsigned_certificate" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Generate a selfsigned certificate.</p>
|
||
<p>See <a class="reference external" href="https://msdn.microsoft.com/en-us/library/windows/desktop/aa376039(v=vs.85).aspx">CertCreateSelfSignCertificate</a></p>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><a class="reference internal" href="#windows.crypto.Certificate" title="windows.crypto.Certificate"><code class="xref py py-class docutils literal notranslate"><span class="pre">windows.crypto.Certificate</span></code></a></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="generate-key">
|
||
<h3>10.3.2. generate_key<a class="headerlink" href="#generate-key" title="Permalink to this headline">¶</a></h3>
|
||
<dl class="function">
|
||
<dt id="windows.crypto.generation.generate_key">
|
||
<code class="descclassname">windows.crypto.generation.</code><code class="descname">generate_key</code><span class="sig-paren">(</span><em>prov</em>, <em>keytype=AT_KEYEXCHANGE(0x1L)</em>, <em>flags=CRYPT_EXPORTABLE(0x1L)</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/crypto/generation.html#generate_key"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.crypto.generation.generate_key" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Generate a keypair if type <code class="docutils literal notranslate"><span class="pre">keytype</span></code>.</p>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><code class="xref py py-class docutils literal notranslate"><span class="pre">HCRYPTKEY</span></code></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="generate-pfx">
|
||
<h3>10.3.3. generate_pfx<a class="headerlink" href="#generate-pfx" title="Permalink to this headline">¶</a></h3>
|
||
<dl class="function">
|
||
<dt id="windows.crypto.generation.generate_pfx">
|
||
<code class="descclassname">windows.crypto.generation.</code><code class="descname">generate_pfx</code><span class="sig-paren">(</span><em>hstore</em>, <em>password=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/crypto/generation.html#generate_pfx"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#windows.crypto.generation.generate_pfx" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Generate a pfx protected by <code class="docutils literal notranslate"><span class="pre">password</span></code> contaning the certificates in <code class="docutils literal notranslate"><span class="pre">hstore</span></code></p>
|
||
<table class="docutils field-list" frame="void" rules="none">
|
||
<col class="field-name" />
|
||
<col class="field-body" />
|
||
<tbody valign="top">
|
||
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bytearray" title="(in Python v2.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bytearray</span></code></a> – The raw PFX</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</dd></dl>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||
<div class="sphinxsidebarwrapper">
|
||
<h3><a href="index.html">Table Of Contents</a></h3>
|
||
<ul>
|
||
<li><a class="reference internal" href="#">10. <code class="docutils literal notranslate"><span class="pre">windows.crypto</span></code> – CryptoAPI</a><ul>
|
||
<li><a class="reference internal" href="#encryption">10.1. Encryption</a><ul>
|
||
<li><a class="reference internal" href="#encrypt">10.1.1. encrypt</a></li>
|
||
<li><a class="reference internal" href="#decrypt">10.1.2. decrypt</a></li>
|
||
<li><a class="reference internal" href="#import-pfx">10.1.3. import_pfx</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#certificate">10.2. Certificate</a><ul>
|
||
<li><a class="reference internal" href="#id1">10.2.1. Certificate</a></li>
|
||
<li><a class="reference internal" href="#certificatestore">10.2.2. CertificateStore</a></li>
|
||
<li><a class="reference internal" href="#cryptobject">10.2.3. CryptObject</a></li>
|
||
<li><a class="reference internal" href="#cryptmessage">10.2.4. CryptMessage</a></li>
|
||
<li><a class="reference internal" href="#cryptcontext">10.2.5. CryptContext</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#module-windows.crypto.generation">10.3. Generating componants</a><ul>
|
||
<li><a class="reference internal" href="#generate-selfsigned-certificate">10.3.1. generate_selfsigned_certificate</a></li>
|
||
<li><a class="reference internal" href="#generate-key">10.3.2. generate_key</a></li>
|
||
<li><a class="reference internal" href="#generate-pfx">10.3.3. generate_pfx</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
|
||
<h4>Previous topic</h4>
|
||
<p class="topless"><a href="com.html"
|
||
title="previous chapter">9. <code class="docutils literal notranslate"><span class="pre">windows.com</span></code> - Component Object Model</a></p>
|
||
<h4>Next topic</h4>
|
||
<p class="topless"><a href="alpc.html"
|
||
title="next chapter">11. <code class="docutils literal notranslate"><span class="pre">windows.alpc</span></code> – Advanced Local Procedure Call</a></p>
|
||
<div role="note" aria-label="source link">
|
||
<h3>This Page</h3>
|
||
<ul class="this-page-menu">
|
||
<li><a href="_sources/crypto.rst.txt"
|
||
rel="nofollow">Show Source</a></li>
|
||
</ul>
|
||
</div>
|
||
<div id="searchbox" style="display: none" role="search">
|
||
<h3>Quick search</h3>
|
||
<div class="searchformwrapper">
|
||
<form class="search" action="search.html" method="get">
|
||
<input type="text" name="q" />
|
||
<input type="submit" value="Go" />
|
||
<input type="hidden" name="check_keywords" value="yes" />
|
||
<input type="hidden" name="area" value="default" />
|
||
</form>
|
||
</div>
|
||
</div>
|
||
<script type="text/javascript">$('#searchbox').show(0);</script>
|
||
</div>
|
||
</div>
|
||
<div class="clearer"></div>
|
||
</div>
|
||
<div class="related" role="navigation" aria-label="related navigation">
|
||
<h3>Navigation</h3>
|
||
<ul>
|
||
<li class="right" style="margin-right: 10px">
|
||
<a href="genindex.html" title="General Index"
|
||
>index</a></li>
|
||
<li class="right" >
|
||
<a href="py-modindex.html" title="Python Module Index"
|
||
>modules</a> |</li>
|
||
<li class="right" >
|
||
<a href="alpc.html" title="11. windows.alpc – Advanced Local Procedure Call"
|
||
>next</a> |</li>
|
||
<li class="right" >
|
||
<a href="com.html" title="9. windows.com - Component Object Model"
|
||
>previous</a> |</li>
|
||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 0.4 documentation</a> »</li>
|
||
</ul>
|
||
</div>
|
||
<div class="footer" role="contentinfo">
|
||
© Copyright 2015, Clement Rouault.
|
||
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.7.5.
|
||
</div>
|
||
</body>
|
||
</html> |