/
githubmirror
/
xmlsec
Обзор
Документация
Войти
/
githubmirror
/
xmlsec
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
1.3.10
docs/api/xmlsec-mscrypto-certkeys.html
400 строк
17 KB
lsh123
Update docs (#1082)
18 мар 2026, 04:43
Не верифицирован
18 мар 2026, 04:43
ff1e861
Код
Авторство
О чём код?
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>certkeys: XML Security Library Reference Manual</title> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"> <link rel="home" href="index.html" title="XML Security Library Reference Manual"> <link rel="up" href="xmlsec-mscrypto-ref.html" title="XML Security Library for Microsoft Crypto API Reference."> <link rel="prev" href="xmlsec-mscrypto-app.html" title="app"> <link rel="next" href="xmlsec-mscrypto-crypto.html" title="crypto"> <meta name="generator" content="GTK-Doc V1.34.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body><table width="100%" valign="top"><tr valign="top"> <td valign="top" align="left" width="210"> <img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> <ul> <li><a href="../index.html">Home</a></li> <li><a href="../download.html">Download</a></li> <ul><li><a href="../https://github.com/lsh123/xmlsec">GitHub</a></li></ul> <li><a href="../news.html">News</a></li> <li><a href="../documentation.html">Documentation</a></li> <ul> <li><a href="../faq.html">FAQ</a></li> <li><a href="../api/xmlsec-notes.html">Tutorial</a></li> <li><a href="../api/xmlsec-reference.html">API reference</a></li> <li><a href="../api/xmlsec-examples.html">Examples</a></li> </ul> <li><a href="../xmldsig.html">XML Digital Signature</a></li> <li><a href="../xmlenc.html">XML Encryption</a></li> <li><a href="../c14n.html">XML Canonicalization</a></li> <li><a href="../bugs.html">Reporting Bugs</a></li> <li><a href="mailing-list.html">Mailing list</a></li> <li><a href="../related.html">Related</a></li> <li><a href="../authors.html">Authors</a></li> </ul> <table width="100%"> <tr> <td width="15"></td> <td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> </tr> <tr> <td width="15"></td> <td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> </tr> <tr> <td width="15"></td> <td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> </tr> <!--Links - start--><!--Links - end--> </table> </td> <td valign="top"><table width="80%" valign="top" style="margin-left:10px;"><tr><td valign="top" align="left" id="xmlsecContent"> <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle"> <td width="100%" align="left" class="shortcuts"> <a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> <a href="#xmlsec-mscrypto-certkeys.description" class="shortcut">Description</a></span> </td> <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> <td><a accesskey="u" href="xmlsec-mscrypto-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="xmlsec-mscrypto-app.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="xmlsec-mscrypto-crypto.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="refentry"> <a name="xmlsec-mscrypto-certkeys"></a><div class="titlepage"></div> <div class="refnamediv"><table width="100%"><tr> <td valign="top"> <h2><span class="refentrytitle"><a name="xmlsec-mscrypto-certkeys.top_of_page"></a>certkeys</span></h2> <p>certkeys — Certificate keys support functions for Microsoft Crypto API.</p> </td> <td class="gallery_image" valign="top" align="right"></td> </tr></table></div> <div class="refsect1"> <a name="xmlsec-mscrypto-certkeys.stability-level"></a><h2>Stability Level</h2> <acronym title="The intention of a Stable interface is to enable arbitrary third parties to develop applications to these interfaces, release them, and have confidence that they will run on all minor releases of the product (after the one in which the interface was introduced, and within the same major release). Even at a major release, incompatible changes are expected to be rare, and to have strong justifications. "><span class="acronym">Stable</span></acronym>, unless otherwise indicated </div> <div class="refsect1"> <a name="xmlsec-mscrypto-certkeys.functions"></a><h2>Functions</h2> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col> <col> </colgroup> <tbody> <tr> <td class="function_type"> <font><span class="returnvalue">PCCERT_CONTEXT</span></font> </td> <td class="function_name"> <a class="link" href="xmlsec-mscrypto-certkeys.html#xmlSecMSCryptoKeyDataGetCert" title="xmlSecMSCryptoKeyDataGetCert ()">xmlSecMSCryptoKeyDataGetCert</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <font><span class="returnvalue">HCRYPTKEY</span></font> </td> <td class="function_name"> <a class="link" href="xmlsec-mscrypto-certkeys.html#xmlSecMSCryptoKeyDataGetKey" title="xmlSecMSCryptoKeyDataGetKey ()">xmlSecMSCryptoKeyDataGetKey</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <font><span class="returnvalue">HCRYPTKEY</span></font> </td> <td class="function_name"> <a class="link" href="xmlsec-mscrypto-certkeys.html#xmlSecMSCryptoKeyDataGetDecryptKey" title="xmlSecMSCryptoKeyDataGetDecryptKey ()">xmlSecMSCryptoKeyDataGetDecryptKey</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <font><span class="returnvalue">PCCERT_CONTEXT</span></font> </td> <td class="function_name"> <a class="link" href="xmlsec-mscrypto-certkeys.html#xmlSecMSCryptoCertDup" title="xmlSecMSCryptoCertDup ()">xmlSecMSCryptoCertDup</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="xmlsec-keysdata.html#xmlSecKeyData" title="struct xmlSecKeyData"><span class="returnvalue">xmlSecKeyDataPtr</span></a> </td> <td class="function_name"> <a class="link" href="xmlsec-mscrypto-certkeys.html#xmlSecMSCryptoCertAdopt" title="xmlSecMSCryptoCertAdopt ()">xmlSecMSCryptoCertAdopt</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <font><span class="returnvalue">HCRYPTPROV</span></font> </td> <td class="function_name"> <a class="link" href="xmlsec-mscrypto-certkeys.html#xmlSecMSCryptoKeyDataGetMSCryptoProvider" title="xmlSecMSCryptoKeyDataGetMSCryptoProvider ()">xmlSecMSCryptoKeyDataGetMSCryptoProvider</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <font><span class="returnvalue">DWORD</span></font> </td> <td class="function_name"> <a class="link" href="xmlsec-mscrypto-certkeys.html#xmlSecMSCryptoKeyDataGetMSCryptoKeySpec" title="xmlSecMSCryptoKeyDataGetMSCryptoKeySpec ()">xmlSecMSCryptoKeyDataGetMSCryptoKeySpec</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <font><span class="returnvalue">PCRYPT_KEY_PROV_INFO</span></font> </td> <td class="function_name"> <a class="link" href="xmlsec-mscrypto-certkeys.html#xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo" title="xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo ()">xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo</a> <span class="c_punctuation">()</span> </td> </tr> </tbody> </table></div> </div> <div class="refsect1"> <a name="xmlsec-mscrypto-certkeys.description"></a><h2>Description</h2> <p></p> </div> <div class="refsect1"> <a name="xmlsec-mscrypto-certkeys.functions_details"></a><h2>Functions</h2> <div class="refsect2"> <a name="xmlSecMSCryptoKeyDataGetCert"></a><h3>xmlSecMSCryptoKeyDataGetCert ()</h3> <pre class="programlisting"><font><span class="returnvalue">PCCERT_CONTEXT</span></font> xmlSecMSCryptoKeyDataGetCert (<em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyData" title="struct xmlSecKeyData"><span class="type">xmlSecKeyDataPtr</span></a> data</code></em>);</pre> <p>Native MSCrypto certificate retrieval from xmlsec keydata. The returned PCCERT_CONTEXT must not be released by the caller.</p> <div class="refsect3"> <a name="xmlSecMSCryptoKeyDataGetCert.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col> <col> <col> </colgroup> <tbody><tr> <td class="parameter_name"><p>data</p></td> <td class="parameter_description"><p>the key data to retrieve certificate from.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="xmlSecMSCryptoKeyDataGetCert.returns"></a><h4>Returns</h4> <p> PCCERT_CONTEXT on success or NULL otherwise.</p> </div> </div> <hr> <div class="refsect2"> <a name="xmlSecMSCryptoKeyDataGetKey"></a><h3>xmlSecMSCryptoKeyDataGetKey ()</h3> <pre class="programlisting"><font><span class="returnvalue">HCRYPTKEY</span></font> xmlSecMSCryptoKeyDataGetKey (<em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyData" title="struct xmlSecKeyData"><span class="type">xmlSecKeyDataPtr</span></a> data</code></em>, <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre> <p>Native MSCrypto key retrieval from xmlsec keydata. The returned HKEY must not be destroyed by the caller.</p> <div class="refsect3"> <a name="xmlSecMSCryptoKeyDataGetKey.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col> <col> <col> </colgroup> <tbody> <tr> <td class="parameter_name"><p>data</p></td> <td class="parameter_description"><p>the key data to retrieve certificate from.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>type</p></td> <td class="parameter_description"><p>type of key requested (public/private)</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="xmlSecMSCryptoKeyDataGetKey.returns"></a><h4>Returns</h4> <p> HKEY on success or NULL otherwise.</p> </div> </div> <hr> <div class="refsect2"> <a name="xmlSecMSCryptoKeyDataGetDecryptKey"></a><h3>xmlSecMSCryptoKeyDataGetDecryptKey ()</h3> <pre class="programlisting"><font><span class="returnvalue">HCRYPTKEY</span></font> xmlSecMSCryptoKeyDataGetDecryptKey (<em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyData" title="struct xmlSecKeyData"><span class="type">xmlSecKeyDataPtr</span></a> data</code></em>);</pre> <p>Native MSCrypto decrypt key retrieval from xmlsec keydata. The returned HKEY must not be destroyed by the caller.</p> <div class="refsect3"> <a name="xmlSecMSCryptoKeyDataGetDecryptKey.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col> <col> <col> </colgroup> <tbody><tr> <td class="parameter_name"><p>data</p></td> <td class="parameter_description"><p>the key data pointer</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="xmlSecMSCryptoKeyDataGetDecryptKey.returns"></a><h4>Returns</h4> <p> HKEY on success or NULL otherwise.</p> </div> </div> <hr> <div class="refsect2"> <a name="xmlSecMSCryptoCertDup"></a><h3>xmlSecMSCryptoCertDup ()</h3> <pre class="programlisting"><font><span class="returnvalue">PCCERT_CONTEXT</span></font> xmlSecMSCryptoCertDup (<em class="parameter"><code><font><span class="type">PCCERT_CONTEXT</span></font> pCert</code></em>);</pre> <p>Duplicates the <em class="parameter"><code>pCert</code></em> .</p> <div class="refsect3"> <a name="xmlSecMSCryptoCertDup.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col> <col> <col> </colgroup> <tbody><tr> <td class="parameter_name"><p>pCert</p></td> <td class="parameter_description"><p>the pointer to cert.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="xmlSecMSCryptoCertDup.returns"></a><h4>Returns</h4> <p> pointer to newly created PCCERT_CONTEXT object or NULL if an error occurs.</p> </div> </div> <hr> <div class="refsect2"> <a name="xmlSecMSCryptoCertAdopt"></a><h3>xmlSecMSCryptoCertAdopt ()</h3> <pre class="programlisting"><a class="link" href="xmlsec-keysdata.html#xmlSecKeyData" title="struct xmlSecKeyData"><span class="returnvalue">xmlSecKeyDataPtr</span></a> xmlSecMSCryptoCertAdopt (<em class="parameter"><code><font><span class="type">PCCERT_CONTEXT</span></font> pCert</code></em>, <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataType" title="xmlSecKeyDataType"><span class="type">xmlSecKeyDataType</span></a> type</code></em>);</pre> <p>Creates key data value from the cert.</p> <div class="refsect3"> <a name="xmlSecMSCryptoCertAdopt.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col> <col> <col> </colgroup> <tbody> <tr> <td class="parameter_name"><p>pCert</p></td> <td class="parameter_description"><p>the pointer to cert.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>type</p></td> <td class="parameter_description"><p>the expected key type.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="xmlSecMSCryptoCertAdopt.returns"></a><h4>Returns</h4> <p> pointer to newly created xmlsec key or NULL if an error occurs.</p> </div> </div> <hr> <div class="refsect2"> <a name="xmlSecMSCryptoKeyDataGetMSCryptoProvider"></a><h3>xmlSecMSCryptoKeyDataGetMSCryptoProvider ()</h3> <pre class="programlisting"><font><span class="returnvalue">HCRYPTPROV</span></font> xmlSecMSCryptoKeyDataGetMSCryptoProvider (<em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyData" title="struct xmlSecKeyData"><span class="type">xmlSecKeyDataPtr</span></a> data</code></em>);</pre> <p>Gets crypto provider handle</p> <div class="refsect3"> <a name="xmlSecMSCryptoKeyDataGetMSCryptoProvider.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col> <col> <col> </colgroup> <tbody><tr> <td class="parameter_name"><p>data</p></td> <td class="parameter_description"><p>the key data</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="xmlSecMSCryptoKeyDataGetMSCryptoProvider.returns"></a><h4>Returns</h4> <p> the crypto provider handler or 0 if there is an error.</p> </div> </div> <hr> <div class="refsect2"> <a name="xmlSecMSCryptoKeyDataGetMSCryptoKeySpec"></a><h3>xmlSecMSCryptoKeyDataGetMSCryptoKeySpec ()</h3> <pre class="programlisting"><font><span class="returnvalue">DWORD</span></font> xmlSecMSCryptoKeyDataGetMSCryptoKeySpec (<em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyData" title="struct xmlSecKeyData"><span class="type">xmlSecKeyDataPtr</span></a> data</code></em>);</pre> <p>Gets key spec info.</p> <div class="refsect3"> <a name="xmlSecMSCryptoKeyDataGetMSCryptoKeySpec.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col> <col> <col> </colgroup> <tbody><tr> <td class="parameter_name"><p>data</p></td> <td class="parameter_description"><p>the key data</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="xmlSecMSCryptoKeyDataGetMSCryptoKeySpec.returns"></a><h4>Returns</h4> <p> the key spec info from key data</p> </div> </div> <hr> <div class="refsect2"> <a name="xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo"></a><h3>xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo ()</h3> <pre class="programlisting"><font><span class="returnvalue">PCRYPT_KEY_PROV_INFO</span></font> xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo (<em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyData" title="struct xmlSecKeyData"><span class="type">xmlSecKeyDataPtr</span></a> data</code></em>);</pre> <p>Gets key provider info.</p> <div class="refsect3"> <a name="xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col> <col> <col> </colgroup> <tbody><tr> <td class="parameter_name"><p>data</p></td> <td class="parameter_description"><p>the key data</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="xmlSecMSCryptoKeyDataGetMSCryptoProviderInfo.returns"></a><h4>Returns</h4> <p> the key provider info.</p> </div> </div> </div> </div> <div class="footer"> <hr>Generated by GTK-Doc V1.34.0</div> </td></tr></table></td> </tr></table></body> </html>