Files
hakril-PythonForWindows/docs/build/html/crypto.html
T
2018-08-03 10:10:31 +02:00

738 lines
53 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!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 &#8212; 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> &#187;</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 havent 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">&gt;&gt;&gt; </span><span class="n">x</span>
<span class="go">&lt;Certificate &quot;Microsoft Windows Production PCA 2011&quot; serial=&quot;61 07 76 56 00 00 00 00 00 08&quot;&gt;</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">x</span><span class="o">.</span><span class="n">distinguished_name</span>
<span class="go">&#39;C=US, S=Washington, L=Redmond, O=Microsoft Corporation, CN=Microsoft Windows Production PCA 2011&#39;</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 certificates 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">&lt;=</span> <span class="pre">x</span> <span class="pre">&lt;=</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 certificates 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">&gt;&gt;&gt; </span><span class="n">x</span>
<span class="go">&lt;Certificate &quot;YOLO2&quot; serial=&quot;6f 1d 3e 7d d9 77 59 a9 4c 1c 53 dc 80 db 0c fe&quot;&gt;</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">x</span><span class="o">.</span><span class="n">thumbprint</span>
<span class="go">&#39;E2 A2 DB 76 A1 DD 8E 70 0D C6 9F CB 71 CF 29 12 C6 D9 78 97&#39;</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> &amp; <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> &#187;</li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2015, Clement Rouault.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.7.5.
</div>
</body>
</html>