Skip to content

Commit c46f086

Browse files
authored
Version 1.0.4
Version 1.0.4
2 parents d0e8443 + d3e8d73 commit c46f086

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+719
-222
lines changed

ctypes_generation/definitions/defines/wintrust_crypt_def.txt

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -633,4 +633,28 @@
633633
#define CERT_NCRYPT_KEY_SPEC 0xFFFFFFFF
634634

635635

636-
#define CERT_REQUEST_V1 0
636+
#define CERT_REQUEST_V1 0
637+
638+
639+
// Include\10.0.10240.0\um\wincrypt.h
640+
641+
#define CRYPT_STRING_BASE64HEADER 0x00000000
642+
#define CRYPT_STRING_BASE64 0x00000001
643+
#define CRYPT_STRING_BINARY 0x00000002
644+
#define CRYPT_STRING_BASE64REQUESTHEADER 0x00000003
645+
#define CRYPT_STRING_HEX 0x00000004
646+
#define CRYPT_STRING_HEXASCII 0x00000005
647+
#define CRYPT_STRING_BASE64_ANY 0x00000006
648+
#define CRYPT_STRING_ANY 0x00000007
649+
#define CRYPT_STRING_HEX_ANY 0x00000008
650+
#define CRYPT_STRING_BASE64X509CRLHEADER 0x00000009
651+
#define CRYPT_STRING_HEXADDR 0x0000000a
652+
#define CRYPT_STRING_HEXASCIIADDR 0x0000000b
653+
#define CRYPT_STRING_HEXRAW 0x0000000c
654+
#define CRYPT_STRING_BASE64URI 0x0000000d
655+
656+
#define CRYPT_STRING_PERCENTESCAPE 0x08000000 // base64 formats only
657+
#define CRYPT_STRING_HASHDATA 0x10000000
658+
#define CRYPT_STRING_STRICT 0x20000000
659+
#define CRYPT_STRING_NOCRLF 0x40000000
660+
#define CRYPT_STRING_NOCR 0x80000000

ctypes_generation/definitions/functions/crypto_wintrust.txt

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -641,4 +641,40 @@ BOOL CryptSignCertificate(
641641
[in] PVOID pvHashAuxInfo,
642642
[out] BYTE *pbSignature,
643643
[in, out] DWORD *pcbSignature
644+
);
645+
646+
BOOL CryptBinaryToStringA(
647+
[in] BYTE *pbBinary,
648+
[in] DWORD cbBinary,
649+
[in] DWORD dwFlags,
650+
[out, optional] LPSTR pszString,
651+
[in, out] DWORD *pcchString
652+
);
653+
654+
BOOL CryptBinaryToStringW(
655+
[in] BYTE *pbBinary,
656+
[in] DWORD cbBinary,
657+
[in] DWORD dwFlags,
658+
[out, optional] LPWSTR pszString,
659+
[in, out] DWORD *pcchString
660+
);
661+
662+
BOOL CryptStringToBinaryA(
663+
[in] LPCSTR pszString,
664+
[in] DWORD cchString,
665+
[in] DWORD dwFlags,
666+
[in] BYTE *pbBinary,
667+
[in, out] DWORD *pcbBinary,
668+
[out] DWORD *pdwSkip,
669+
[out] DWORD *pdwFlags
670+
);
671+
672+
BOOL CryptStringToBinaryW(
673+
[in] LPCWSTR pszString,
674+
[in] DWORD cchString,
675+
[in] DWORD dwFlags,
676+
[in] BYTE *pbBinary,
677+
[in, out] DWORD *pcbBinary,
678+
[out] DWORD *pdwSkip,
679+
[out] DWORD *pdwFlags
644680
);

docs/build/html/.buildinfo

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Sphinx build info version 1
22
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3-
config: 79eb4f6d749f8afd0854dfaf20582dd7
3+
config: 0e250b469303f551736a785b66f0d36c
44
tags: 645f666f9bcd5a90fca523b33c5a78b7

docs/build/html/_modules/index.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44
<head>
55
<meta charset="utf-8" />
66
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7-
<title>Overview: module code &#8212; PythonForWindows 1.0.3 documentation</title>
7+
<title>Overview: module code &#8212; PythonForWindows 1.0.4 documentation</title>
88
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
99
<link rel="stylesheet" type="text/css" href="../_static/classic.css?v=def86cc0" />
1010
<link rel="stylesheet" type="text/css" href="../_static/css/mbasic.css?v=957880af" />
1111

12-
<script src="../_static/documentation_options.js?v=baaebd52"></script>
12+
<script src="../_static/documentation_options.js?v=71272d9f"></script>
1313
<script src="../_static/doctools.js?v=9a2dae69"></script>
1414
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
1515

@@ -25,7 +25,7 @@ <h3>Navigation</h3>
2525
<li class="right" >
2626
<a href="../py-modindex.html" title="Python Module Index"
2727
>modules</a> |</li>
28-
<li class="nav-item nav-item-0"><a href="../index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
28+
<li class="nav-item nav-item-0"><a href="../index.html">PythonForWindows 1.0.4 documentation</a> &#187;</li>
2929
<li class="nav-item nav-item-this"><a href="">Overview: module code</a></li>
3030
</ul>
3131
</div>
@@ -115,7 +115,7 @@ <h3>Navigation</h3>
115115
<li class="right" >
116116
<a href="../py-modindex.html" title="Python Module Index"
117117
>modules</a> |</li>
118-
<li class="nav-item nav-item-0"><a href="../index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
118+
<li class="nav-item nav-item-0"><a href="../index.html">PythonForWindows 1.0.4 documentation</a> &#187;</li>
119119
<li class="nav-item nav-item-this"><a href="">Overview: module code</a></li>
120120
</ul>
121121
</div>

docs/build/html/_modules/windows/crypto/certificate.html

Lines changed: 29 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44
<head>
55
<meta charset="utf-8" />
66
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7-
<title>windows.crypto.certificate &#8212; PythonForWindows 1.0.3 documentation</title>
7+
<title>windows.crypto.certificate &#8212; PythonForWindows 1.0.4 documentation</title>
88
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
99
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
1010
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
1111

12-
<script src="../../../_static/documentation_options.js?v=baaebd52"></script>
12+
<script src="../../../_static/documentation_options.js?v=71272d9f"></script>
1313
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
1414
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
1515

@@ -25,7 +25,7 @@ <h3>Navigation</h3>
2525
<li class="right" >
2626
<a href="../../../py-modindex.html" title="Python Module Index"
2727
>modules</a> |</li>
28-
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
28+
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.4 documentation</a> &#187;</li>
2929
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
3030
<li class="nav-item nav-item-this"><a href="">windows.crypto.certificate</a></li>
3131
</ul>
@@ -45,7 +45,7 @@ <h1>Source code for windows.crypto.certificate</h1><div class="highlight"><pre>
4545
<span class="kn">import</span> <span class="nn">windows.generated_def</span> <span class="k">as</span> <span class="nn">gdef</span>
4646

4747
<span class="kn">from</span> <span class="nn">windows.crypto</span> <span class="kn">import</span> <span class="n">DEFAULT_ENCODING</span>
48-
<span class="kn">from</span> <span class="nn">windows.pycompat</span> <span class="kn">import</span> <span class="n">urepr_encode</span>
48+
<span class="kn">from</span> <span class="nn">windows.pycompat</span> <span class="kn">import</span> <span class="n">urepr_encode</span><span class="p">,</span> <span class="n">unicode_type</span>
4949

5050
<span class="kn">import</span> <span class="nn">windows.crypto.cryptmsg</span>
5151

@@ -99,7 +99,8 @@ <h1>Source code for windows.crypto.certificate</h1><div class="highlight"><pre>
9999
<span class="n">gdef</span><span class="o">.</span><span class="n">LPWSTR</span><span class="p">(</span><span class="n">filename</span><span class="p">),</span>
100100
<span class="c1"># filename,</span>
101101
<span class="n">content_type</span><span class="p">,</span>
102-
<span class="n">gdef</span><span class="o">.</span><span class="n">CERT_QUERY_FORMAT_FLAG_BINARY</span><span class="p">,</span>
102+
<span class="c1"># gdef.CERT_QUERY_FORMAT_FLAG_BINARY,</span>
103+
<span class="n">gdef</span><span class="o">.</span><span class="n">CERT_QUERY_FORMAT_FLAG_ALL</span><span class="p">,</span>
103104
<span class="mi">0</span><span class="p">,</span>
104105
<span class="n">dwEncoding</span><span class="p">,</span>
105106
<span class="n">dwContentType</span><span class="p">,</span>
@@ -201,7 +202,9 @@ <h1>Source code for windows.crypto.certificate</h1><div class="highlight"><pre>
201202
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Create a new :class:`CertificateStore` from system store ``store_name``</span>
202203
<span class="sd"> (see `System Store Locations &lt;https://msdn.microsoft.com/en-us/library/windows/desktop/aa388136(v=vs.85).aspx&gt;`_)</span>
203204
<span class="sd"> &quot;&quot;&quot;</span>
204-
<span class="n">res</span> <span class="o">=</span> <span class="n">winproxy</span><span class="o">.</span><span class="n">CertOpenStore</span><span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">CERT_STORE_PROV_SYSTEM_A</span><span class="p">,</span> <span class="n">DEFAULT_ENCODING</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">CERT_SYSTEM_STORE_LOCAL_MACHINE</span> <span class="o">|</span> <span class="n">gdef</span><span class="o">.</span><span class="n">CERT_STORE_READONLY_FLAG</span><span class="p">,</span> <span class="n">store_name</span><span class="p">)</span>
205+
<span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">store_name</span><span class="p">,</span> <span class="n">unicode_type</span><span class="p">):</span>
206+
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;store_name should be an unicode string not </span><span class="si">{0}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">store_name</span><span class="p">)))</span>
207+
<span class="n">res</span> <span class="o">=</span> <span class="n">winproxy</span><span class="o">.</span><span class="n">CertOpenStore</span><span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">CERT_STORE_PROV_SYSTEM_W</span><span class="p">,</span> <span class="n">DEFAULT_ENCODING</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">CERT_SYSTEM_STORE_LOCAL_MACHINE</span> <span class="o">|</span> <span class="n">gdef</span><span class="o">.</span><span class="n">CERT_STORE_READONLY_FLAG</span><span class="p">,</span> <span class="n">store_name</span><span class="p">)</span>
205208
<span class="k">return</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n">res</span><span class="p">,</span> <span class="bp">cls</span><span class="p">)</span></div>
206209

207210

@@ -212,7 +215,9 @@ <h1>Source code for windows.crypto.certificate</h1><div class="highlight"><pre>
212215
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Create a new :class:`CertificateStore` from system store ``store_name``</span>
213216
<span class="sd"> (see `System Store Locations &lt;https://msdn.microsoft.com/en-us/library/windows/desktop/aa388136(v=vs.85).aspx&gt;`_)</span>
214217
<span class="sd"> &quot;&quot;&quot;</span>
215-
<span class="n">res</span> <span class="o">=</span> <span class="n">winproxy</span><span class="o">.</span><span class="n">CertOpenStore</span><span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">CERT_STORE_PROV_SYSTEM_A</span><span class="p">,</span> <span class="n">DEFAULT_ENCODING</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">CERT_SYSTEM_STORE_CURRENT_USER</span> <span class="o">|</span> <span class="n">gdef</span><span class="o">.</span><span class="n">CERT_STORE_READONLY_FLAG</span><span class="p">,</span> <span class="n">store_name</span><span class="p">)</span>
218+
<span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">store_name</span><span class="p">,</span> <span class="n">unicode_type</span><span class="p">):</span>
219+
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;store_name should be an unicode string not </span><span class="si">{0}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">store_name</span><span class="p">)))</span>
220+
<span class="n">res</span> <span class="o">=</span> <span class="n">winproxy</span><span class="o">.</span><span class="n">CertOpenStore</span><span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">CERT_STORE_PROV_SYSTEM_W</span><span class="p">,</span> <span class="n">DEFAULT_ENCODING</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">CERT_SYSTEM_STORE_CURRENT_USER</span> <span class="o">|</span> <span class="n">gdef</span><span class="o">.</span><span class="n">CERT_STORE_READONLY_FLAG</span><span class="p">,</span> <span class="n">store_name</span><span class="p">)</span>
216221
<span class="k">return</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n">res</span><span class="p">,</span> <span class="bp">cls</span><span class="p">)</span></div>
217222

218223

@@ -519,6 +524,22 @@ <h1>Source code for windows.crypto.certificate</h1><div class="highlight"><pre>
519524
<span class="k">return</span> <span class="nb">bytearray</span><span class="p">(</span><span class="n">buf</span><span class="p">)</span></div>
520525

521526

527+
<div class="viewcode-block" id="Certificate.get_private_key">
528+
<a class="viewcode-back" href="../../../crypto.html#windows.crypto.Certificate.get_private_key">[docs]</a>
529+
<span class="k">def</span> <span class="nf">get_private_key</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">flags</span><span class="p">):</span>
530+
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Tmp API: return value will change&quot;&quot;&quot;</span>
531+
<span class="n">keyhandle</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">HCRYPTPROV_OR_NCRYPT_KEY_HANDLE</span><span class="p">()</span>
532+
<span class="n">keyspec</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">DWORD</span><span class="p">()</span>
533+
<span class="n">must_free_handle</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">BOOL</span><span class="p">()</span>
534+
<span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">CryptAcquireCertificatePrivateKey</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">flags</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="n">keyhandle</span><span class="p">,</span> <span class="n">keyspec</span><span class="p">,</span> <span class="n">must_free_handle</span><span class="p">)</span>
535+
<span class="k">return</span> <span class="p">(</span><span class="n">keyhandle</span><span class="p">,</span> <span class="n">keyspec</span><span class="p">,</span> <span class="n">must_free_handle</span><span class="p">)</span></div>
536+
537+
538+
<span class="nd">@property</span>
539+
<span class="k">def</span> <span class="nf">private_key</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
540+
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Tmp API: return value will change&quot;&quot;&quot;</span>
541+
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_private_key</span><span class="p">(</span><span class="n">flags</span><span class="o">=</span><span class="n">gdef</span><span class="o">.</span><span class="n">CRYPT_ACQUIRE_COMPARE_KEY_FLAG</span> <span class="o">|</span> <span class="n">gdef</span><span class="o">.</span><span class="n">CRYPT_ACQUIRE_ALLOW_NCRYPT_KEY_FLAG</span> <span class="o">|</span> <span class="n">gdef</span><span class="o">.</span><span class="n">CRYPT_ACQUIRE_USE_PROV_INFO_FLAG</span><span class="p">)</span>
542+
522543

523544
<span class="nd">@property</span>
524545
<span class="k">def</span> <span class="nf">encoded</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
@@ -708,7 +729,7 @@ <h3>Navigation</h3>
708729
<li class="right" >
709730
<a href="../../../py-modindex.html" title="Python Module Index"
710731
>modules</a> |</li>
711-
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> &#187;</li>
732+
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.4 documentation</a> &#187;</li>
712733
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> &#187;</li>
713734
<li class="nav-item nav-item-this"><a href="">windows.crypto.certificate</a></li>
714735
</ul>

0 commit comments

Comments
 (0)