/
githubmirror
/
xmlsec
Обзор
Документация
Войти
/
githubmirror
/
xmlsec
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
1.3.9
docs/api/xmlsec-mscng-app.html
975 строк
44 KB
lsh123
Docs update (#869)
29 янв 2025, 20:55
Не верифицирован
29 янв 2025, 20:55
c61a4a9
Код
Авторство
О чём код?
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>app: 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-msccng-ref.html" title="XML Security Library for Microsoft Cryptography API: Next Generation (CNG) Reference."> <link rel="prev" href="xmlsec-msccng-ref.html" title="XML Security Library for Microsoft Cryptography API: Next Generation (CNG) Reference."> <link rel="next" href="xmlsec-mscng-certkeys.html" title="certkeys"> <meta name="generator" content="GTK-Doc V1.34.0 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <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-mscng-app.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-msccng-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="xmlsec-msccng-ref.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="xmlsec-mscng-certkeys.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="refentry"> <a name="xmlsec-mscng-app"></a><div class="titlepage"></div> <div class="refnamediv"><table width="100%"><tr> <td valign="top"> <h2><span class="refentrytitle"><a name="xmlsec-mscng-app.top_of_page"></a>app</span></h2> <p>app — Application support functions for Microsoft Cryptography API: Next Generation (CNG).</p> </td> <td class="gallery_image" valign="top" align="right"></td> </tr></table></div> <div class="refsect1"> <a name="xmlsec-mscng-app.stability-level"></a><h2>Stability Level</h2> <a href="http://foldoc.org/Stable"><span class="acronym">Stable</span></a>, unless otherwise indicated </div> <div class="refsect1"> <a name="xmlsec-mscng-app.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">int</span></font> </td> <td class="function_name"> <a class="link" href="xmlsec-mscng-app.html#xmlSecMSCngAppInit" title="xmlSecMSCngAppInit ()">xmlSecMSCngAppInit</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <font><span class="returnvalue">int</span></font> </td> <td class="function_name"> <a class="link" href="xmlsec-mscng-app.html#xmlSecMSCngAppShutdown" title="xmlSecMSCngAppShutdown ()">xmlSecMSCngAppShutdown</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <font><span class="returnvalue">LPCTSTR</span></font> </td> <td class="function_name"> <a class="link" href="xmlsec-mscng-app.html#xmlSecMSCngAppGetCertStoreName" title="xmlSecMSCngAppGetCertStoreName ()">xmlSecMSCngAppGetCertStoreName</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <font><span class="returnvalue">int</span></font> </td> <td class="function_name"> <a class="link" href="xmlsec-mscng-app.html#xmlSecMSCngAppDefaultKeysMngrInit" title="xmlSecMSCngAppDefaultKeysMngrInit ()">xmlSecMSCngAppDefaultKeysMngrInit</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <font><span class="returnvalue">int</span></font> </td> <td class="function_name"> <a class="link" href="xmlsec-mscng-app.html#xmlSecMSCngAppDefaultKeysMngrAdoptKey" title="xmlSecMSCngAppDefaultKeysMngrAdoptKey ()">xmlSecMSCngAppDefaultKeysMngrAdoptKey</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <font><span class="returnvalue">int</span></font> </td> <td class="function_name"> <a class="link" href="xmlsec-mscng-app.html#xmlSecMSCngAppDefaultKeysMngrVerifyKey" title="xmlSecMSCngAppDefaultKeysMngrVerifyKey ()">xmlSecMSCngAppDefaultKeysMngrVerifyKey</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <font><span class="returnvalue">int</span></font> </td> <td class="function_name"> <a class="link" href="xmlsec-mscng-app.html#xmlSecMSCngAppDefaultKeysMngrLoad" title="xmlSecMSCngAppDefaultKeysMngrLoad ()">xmlSecMSCngAppDefaultKeysMngrLoad</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <font><span class="returnvalue">int</span></font> </td> <td class="function_name"> <a class="link" href="xmlsec-mscng-app.html#xmlSecMSCngAppDefaultKeysMngrSave" title="xmlSecMSCngAppDefaultKeysMngrSave ()">xmlSecMSCngAppDefaultKeysMngrSave</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <font><span class="returnvalue">int</span></font> </td> <td class="function_name"> <a class="link" href="xmlsec-mscng-app.html#xmlSecMSCngAppKeysMngrCertLoad" title="xmlSecMSCngAppKeysMngrCertLoad ()">xmlSecMSCngAppKeysMngrCertLoad</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <font><span class="returnvalue">int</span></font> </td> <td class="function_name"> <a class="link" href="xmlsec-mscng-app.html#xmlSecMSCngAppKeysMngrCertLoadMemory" title="xmlSecMSCngAppKeysMngrCertLoadMemory ()">xmlSecMSCngAppKeysMngrCertLoadMemory</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <font><span class="returnvalue">int</span></font> </td> <td class="function_name"> <a class="link" href="xmlsec-mscng-app.html#xmlSecMSCngAppKeysMngrCrlLoad" title="xmlSecMSCngAppKeysMngrCrlLoad ()">xmlSecMSCngAppKeysMngrCrlLoad</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <font><span class="returnvalue">int</span></font> </td> <td class="function_name"> <a class="link" href="xmlsec-mscng-app.html#xmlSecMSCngAppKeysMngrCrlLoadMemory" title="xmlSecMSCngAppKeysMngrCrlLoadMemory ()">xmlSecMSCngAppKeysMngrCrlLoadMemory</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey"><span class="returnvalue">xmlSecKeyPtr</span></a> </td> <td class="function_name"> <a class="link" href="xmlsec-mscng-app.html#xmlSecMSCngAppKeyLoadEx" title="xmlSecMSCngAppKeyLoadEx ()">xmlSecMSCngAppKeyLoadEx</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey"><span class="returnvalue">xmlSecKeyPtr</span></a> </td> <td class="function_name"> <a class="link" href="xmlsec-mscng-app.html#xmlSecMSCngAppKeyLoadMemory" title="xmlSecMSCngAppKeyLoadMemory ()">xmlSecMSCngAppKeyLoadMemory</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey"><span class="returnvalue">xmlSecKeyPtr</span></a> </td> <td class="function_name"> <a class="link" href="xmlsec-mscng-app.html#xmlSecMSCngAppPkcs12Load" title="xmlSecMSCngAppPkcs12Load ()">xmlSecMSCngAppPkcs12Load</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey"><span class="returnvalue">xmlSecKeyPtr</span></a> </td> <td class="function_name"> <a class="link" href="xmlsec-mscng-app.html#xmlSecMSCngAppPkcs12LoadMemory" title="xmlSecMSCngAppPkcs12LoadMemory ()">xmlSecMSCngAppPkcs12LoadMemory</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <font><span class="returnvalue">int</span></font> </td> <td class="function_name"> <a class="link" href="xmlsec-mscng-app.html#xmlSecMSCngAppKeyCertLoad" title="xmlSecMSCngAppKeyCertLoad ()">xmlSecMSCngAppKeyCertLoad</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <font><span class="returnvalue">int</span></font> </td> <td class="function_name"> <a class="link" href="xmlsec-mscng-app.html#xmlSecMSCngAppKeyCertLoadMemory" title="xmlSecMSCngAppKeyCertLoadMemory ()">xmlSecMSCngAppKeyCertLoadMemory</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <font><span class="returnvalue">void</span></font> * </td> <td class="function_name"> <a class="link" href="xmlsec-mscng-app.html#xmlSecMSCngAppGetDefaultPwdCallback" title="xmlSecMSCngAppGetDefaultPwdCallback ()">xmlSecMSCngAppGetDefaultPwdCallback</a> <span class="c_punctuation">()</span> </td> </tr> </tbody> </table></div> </div> <div class="refsect1"> <a name="xmlsec-mscng-app.description"></a><h2>Description</h2> <p>Common functions for xmlsec1 command line utility tool for Microsoft Cryptography API: Next Generation (CNG).</p> </div> <div class="refsect1"> <a name="xmlsec-mscng-app.functions_details"></a><h2>Functions</h2> <div class="refsect2"> <a name="xmlSecMSCngAppInit"></a><h3>xmlSecMSCngAppInit ()</h3> <pre class="programlisting"><font><span class="returnvalue">int</span></font> xmlSecMSCngAppInit (<em class="parameter"><code>const <font><span class="type">char</span></font> *config</code></em>);</pre> <p>General crypto engine initialization. This function is used by XMLSec command line utility and called before <em class="parameter"><code>xmlSecInit</code></em> function.</p> <div class="refsect3"> <a name="xmlSecMSCngAppInit.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>config</p></td> <td class="parameter_description"><p>the path to MSCng configuration (unused).</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="xmlSecMSCngAppInit.returns"></a><h4>Returns</h4> <p> 0 on success or a negative value otherwise.</p> </div> </div> <hr> <div class="refsect2"> <a name="xmlSecMSCngAppShutdown"></a><h3>xmlSecMSCngAppShutdown ()</h3> <pre class="programlisting"><font><span class="returnvalue">int</span></font> xmlSecMSCngAppShutdown (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> <p>General crypto engine shutdown. This function is used by XMLSec command line utility and called after <em class="parameter"><code>xmlSecShutdown</code></em> function.</p> <div class="refsect3"> <a name="xmlSecMSCngAppShutdown.returns"></a><h4>Returns</h4> <p> 0 on success or a negative value otherwise.</p> </div> </div> <hr> <div class="refsect2"> <a name="xmlSecMSCngAppGetCertStoreName"></a><h3>xmlSecMSCngAppGetCertStoreName ()</h3> <pre class="programlisting"><font><span class="returnvalue">LPCTSTR</span></font> xmlSecMSCngAppGetCertStoreName (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> <p>Gets the MS Cng certs store name set by <em class="parameter"><code>xmlSecMSCngAppInit</code></em> function.</p> <div class="refsect3"> <a name="xmlSecMSCngAppGetCertStoreName.returns"></a><h4>Returns</h4> <p> the MS Cng certs name used by xmlsec-mscng.</p> </div> </div> <hr> <div class="refsect2"> <a name="xmlSecMSCngAppDefaultKeysMngrInit"></a><h3>xmlSecMSCngAppDefaultKeysMngrInit ()</h3> <pre class="programlisting"><font><span class="returnvalue">int</span></font> xmlSecMSCngAppDefaultKeysMngrInit (<em class="parameter"><code><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngr" title="struct xmlSecKeysMngr"><span class="type">xmlSecKeysMngrPtr</span></a> mngr</code></em>);</pre> <p>Initializes <em class="parameter"><code>mngr</code></em> with simple keys store <a class="link" href="xmlsec-keysmngr.html#xmlSecSimpleKeysStoreId" title="xmlSecSimpleKeysStoreId"><span class="type">xmlSecSimpleKeysStoreId</span></a> and a default MSCng crypto key data stores.</p> <div class="refsect3"> <a name="xmlSecMSCngAppDefaultKeysMngrInit.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>mngr</p></td> <td class="parameter_description"><p>the pointer to keys manager.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="xmlSecMSCngAppDefaultKeysMngrInit.returns"></a><h4>Returns</h4> <p> 0 on success or a negative value otherwise.</p> </div> </div> <hr> <div class="refsect2"> <a name="xmlSecMSCngAppDefaultKeysMngrAdoptKey"></a><h3>xmlSecMSCngAppDefaultKeysMngrAdoptKey ()</h3> <pre class="programlisting"><font><span class="returnvalue">int</span></font> xmlSecMSCngAppDefaultKeysMngrAdoptKey (<em class="parameter"><code><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngr" title="struct xmlSecKeysMngr"><span class="type">xmlSecKeysMngrPtr</span></a> mngr</code></em>, <em class="parameter"><code><a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey"><span class="type">xmlSecKeyPtr</span></a> key</code></em>);</pre> <p>Adds <em class="parameter"><code>key</code></em> to the keys manager <em class="parameter"><code>mngr</code></em> created with <a class="link" href="xmlsec-mscng-app.html#xmlSecMSCngAppDefaultKeysMngrInit" title="xmlSecMSCngAppDefaultKeysMngrInit ()"><span class="type">xmlSecMSCngAppDefaultKeysMngrInit</span></a> function.</p> <div class="refsect3"> <a name="xmlSecMSCngAppDefaultKeysMngrAdoptKey.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>mngr</p></td> <td class="parameter_description"><p>the pointer to keys manager.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>key</p></td> <td class="parameter_description"><p>the pointer to key.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="xmlSecMSCngAppDefaultKeysMngrAdoptKey.returns"></a><h4>Returns</h4> <p> 0 on success or a negative value otherwise.</p> </div> </div> <hr> <div class="refsect2"> <a name="xmlSecMSCngAppDefaultKeysMngrVerifyKey"></a><h3>xmlSecMSCngAppDefaultKeysMngrVerifyKey ()</h3> <pre class="programlisting"><font><span class="returnvalue">int</span></font> xmlSecMSCngAppDefaultKeysMngrVerifyKey (<em class="parameter"><code><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngr" title="struct xmlSecKeysMngr"><span class="type">xmlSecKeysMngrPtr</span></a> mngr</code></em>, <em class="parameter"><code><a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey"><span class="type">xmlSecKeyPtr</span></a> key</code></em>, <em class="parameter"><code><a class="link" href="xmlsec-keyinfo.html#xmlSecKeyInfoCtx" title="struct xmlSecKeyInfoCtx"><span class="type">xmlSecKeyInfoCtxPtr</span></a> keyInfoCtx</code></em>);</pre> <p>Verifies <em class="parameter"><code>key</code></em> with the keys manager <em class="parameter"><code>mngr</code></em> created with <a class="link" href="xmlsec-app.html#xmlSecCryptoAppDefaultKeysMngrInit" title="xmlSecCryptoAppDefaultKeysMngrInit ()"><span class="type">xmlSecCryptoAppDefaultKeysMngrInit</span></a> function:</p> <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> <li class="listitem"><p>Checks that key certificate is present</p></li> <li class="listitem"><p>Checks that key certificate is valid</p></li> </ul></div> <p>Adds <em class="parameter"><code>key</code></em> to the keys manager <em class="parameter"><code>mngr</code></em> created with <a class="link" href="xmlsec-app.html#xmlSecCryptoAppDefaultKeysMngrInit" title="xmlSecCryptoAppDefaultKeysMngrInit ()"><span class="type">xmlSecCryptoAppDefaultKeysMngrInit</span></a> function.</p> <div class="refsect3"> <a name="xmlSecMSCngAppDefaultKeysMngrVerifyKey.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>mngr</p></td> <td class="parameter_description"><p>the pointer to keys manager.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>key</p></td> <td class="parameter_description"><p>the pointer to key.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>keyInfoCtx</p></td> <td class="parameter_description"><p>the key info context for verification.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="xmlSecMSCngAppDefaultKeysMngrVerifyKey.returns"></a><h4>Returns</h4> <p> 1 if key is verified, 0 otherwise, or a negative value if an error occurs.</p> </div> </div> <hr> <div class="refsect2"> <a name="xmlSecMSCngAppDefaultKeysMngrLoad"></a><h3>xmlSecMSCngAppDefaultKeysMngrLoad ()</h3> <pre class="programlisting"><font><span class="returnvalue">int</span></font> xmlSecMSCngAppDefaultKeysMngrLoad (<em class="parameter"><code><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngr" title="struct xmlSecKeysMngr"><span class="type">xmlSecKeysMngrPtr</span></a> mngr</code></em>, <em class="parameter"><code>const <font><span class="type">char</span></font> *uri</code></em>);</pre> <p>Loads XML keys file from <em class="parameter"><code>uri</code></em> to the keys manager <em class="parameter"><code>mngr</code></em> created with <a class="link" href="xmlsec-mscng-app.html#xmlSecMSCngAppDefaultKeysMngrInit" title="xmlSecMSCngAppDefaultKeysMngrInit ()"><span class="type">xmlSecMSCngAppDefaultKeysMngrInit</span></a> function.</p> <div class="refsect3"> <a name="xmlSecMSCngAppDefaultKeysMngrLoad.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>mngr</p></td> <td class="parameter_description"><p>the pointer to keys manager.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>uri</p></td> <td class="parameter_description"><p>the uri.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="xmlSecMSCngAppDefaultKeysMngrLoad.returns"></a><h4>Returns</h4> <p> 0 on success or a negative value otherwise.</p> </div> </div> <hr> <div class="refsect2"> <a name="xmlSecMSCngAppDefaultKeysMngrSave"></a><h3>xmlSecMSCngAppDefaultKeysMngrSave ()</h3> <pre class="programlisting"><font><span class="returnvalue">int</span></font> xmlSecMSCngAppDefaultKeysMngrSave (<em class="parameter"><code><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngr" title="struct xmlSecKeysMngr"><span class="type">xmlSecKeysMngrPtr</span></a> mngr</code></em>, <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</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>Saves keys from <em class="parameter"><code>mngr</code></em> to XML keys file.</p> <div class="refsect3"> <a name="xmlSecMSCngAppDefaultKeysMngrSave.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>mngr</p></td> <td class="parameter_description"><p>the pointer to keys manager.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>filename</p></td> <td class="parameter_description"><p>the destination filename.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>type</p></td> <td class="parameter_description"><p>the type of keys to save (public/private/symmetric).</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="xmlSecMSCngAppDefaultKeysMngrSave.returns"></a><h4>Returns</h4> <p> 0 on success or a negative value otherwise.</p> </div> </div> <hr> <div class="refsect2"> <a name="xmlSecMSCngAppKeysMngrCertLoad"></a><h3>xmlSecMSCngAppKeysMngrCertLoad ()</h3> <pre class="programlisting"><font><span class="returnvalue">int</span></font> xmlSecMSCngAppKeysMngrCertLoad (<em class="parameter"><code><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngr" title="struct xmlSecKeysMngr"><span class="type">xmlSecKeysMngrPtr</span></a> mngr</code></em>, <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>, <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</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>Reads cert from <em class="parameter"><code>filename</code></em> and adds to the list of trusted or known untrusted certs in <em class="parameter"><code>store</code></em> .</p> <div class="refsect3"> <a name="xmlSecMSCngAppKeysMngrCertLoad.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>mngr</p></td> <td class="parameter_description"><p>the keys manager.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>filename</p></td> <td class="parameter_description"><p>the certificate file.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>format</p></td> <td class="parameter_description"><p>the certificate file format.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>type</p></td> <td class="parameter_description"><p>the flag that indicates is the certificate in <em class="parameter"><code>filename</code></em> trusted or not.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="xmlSecMSCngAppKeysMngrCertLoad.returns"></a><h4>Returns</h4> <p> 0 on success or a negative value otherwise.</p> </div> </div> <hr> <div class="refsect2"> <a name="xmlSecMSCngAppKeysMngrCertLoadMemory"></a><h3>xmlSecMSCngAppKeysMngrCertLoadMemory ()</h3> <pre class="programlisting"><font><span class="returnvalue">int</span></font> xmlSecMSCngAppKeysMngrCertLoadMemory (<em class="parameter"><code><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngr" title="struct xmlSecKeysMngr"><span class="type">xmlSecKeysMngrPtr</span></a> mngr</code></em>, <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>, <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>, <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</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>Reads cert from <em class="parameter"><code>data</code></em> and adds to the list of trusted or known untrusted certs in <em class="parameter"><code>store</code></em> </p> <div class="refsect3"> <a name="xmlSecMSCngAppKeysMngrCertLoadMemory.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>mngr</p></td> <td class="parameter_description"><p>the pointer to keys manager.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>data</p></td> <td class="parameter_description"><p>the certificate data.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>dataSize</p></td> <td class="parameter_description"><p>the certificate data size.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>format</p></td> <td class="parameter_description"><p>the certificate format (PEM or DER).</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>type</p></td> <td class="parameter_description"><p>the certificate type (trusted/untrusted).</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="xmlSecMSCngAppKeysMngrCertLoadMemory.returns"></a><h4>Returns</h4> <p> 0 on success or a negative value otherwise.</p> </div> </div> <hr> <div class="refsect2"> <a name="xmlSecMSCngAppKeysMngrCrlLoad"></a><h3>xmlSecMSCngAppKeysMngrCrlLoad ()</h3> <pre class="programlisting"><font><span class="returnvalue">int</span></font> xmlSecMSCngAppKeysMngrCrlLoad (<em class="parameter"><code><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngr" title="struct xmlSecKeysMngr"><span class="type">xmlSecKeysMngrPtr</span></a> mngr</code></em>, <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>, <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>);</pre> <p>Reads crls from <em class="parameter"><code>filename</code></em> and adds to the list of crls in <em class="parameter"><code>store</code></em> .</p> <div class="refsect3"> <a name="xmlSecMSCngAppKeysMngrCrlLoad.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>mngr</p></td> <td class="parameter_description"><p>the keys manager.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>filename</p></td> <td class="parameter_description"><p>the CRL file.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>format</p></td> <td class="parameter_description"><p>the CRL file format.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="xmlSecMSCngAppKeysMngrCrlLoad.returns"></a><h4>Returns</h4> <p> 0 on success or a negative value otherwise.</p> </div> </div> <hr> <div class="refsect2"> <a name="xmlSecMSCngAppKeysMngrCrlLoadMemory"></a><h3>xmlSecMSCngAppKeysMngrCrlLoadMemory ()</h3> <pre class="programlisting"><font><span class="returnvalue">int</span></font> xmlSecMSCngAppKeysMngrCrlLoadMemory (<em class="parameter"><code><a class="link" href="xmlsec-keysmngr.html#xmlSecKeysMngr" title="struct xmlSecKeysMngr"><span class="type">xmlSecKeysMngrPtr</span></a> mngr</code></em>, <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>, <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>, <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>);</pre> <p>Reads crls from <em class="parameter"><code>data</code></em> and adds to the list of crls in <em class="parameter"><code>store</code></em> </p> <div class="refsect3"> <a name="xmlSecMSCngAppKeysMngrCrlLoadMemory.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>mngr</p></td> <td class="parameter_description"><p>the pointer to keys manager.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>data</p></td> <td class="parameter_description"><p>the CRL data.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>dataSize</p></td> <td class="parameter_description"><p>the CRL data size.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>format</p></td> <td class="parameter_description"><p>the CRL format (PEM or DER).</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="xmlSecMSCngAppKeysMngrCrlLoadMemory.returns"></a><h4>Returns</h4> <p> 0 on success or a negative value otherwise.</p> </div> </div> <hr> <div class="refsect2"> <a name="xmlSecMSCngAppKeyLoadEx"></a><h3>xmlSecMSCngAppKeyLoadEx ()</h3> <pre class="programlisting"><a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey"><span class="returnvalue">xmlSecKeyPtr</span></a> xmlSecMSCngAppKeyLoadEx (<em class="parameter"><code>const <font><span class="type">char</span></font> *filename</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>, <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>, <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>, <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>, <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre> <p>Reads key from the a file.</p> <div class="refsect3"> <a name="xmlSecMSCngAppKeyLoadEx.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>filename</p></td> <td class="parameter_description"><p>the key filename.</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> <tr> <td class="parameter_name"><p>format</p></td> <td class="parameter_description"><p>the key file format.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>pwd</p></td> <td class="parameter_description"><p>the key file password.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>pwdCallback</p></td> <td class="parameter_description"><p>the key password callback.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>pwdCallbackCtx</p></td> <td class="parameter_description"><p>the user context for password callback.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="xmlSecMSCngAppKeyLoadEx.returns"></a><h4>Returns</h4> <p> pointer to the key or NULL if an error occurs.</p> </div> </div> <hr> <div class="refsect2"> <a name="xmlSecMSCngAppKeyLoadMemory"></a><h3>xmlSecMSCngAppKeyLoadMemory ()</h3> <pre class="programlisting"><a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey"><span class="returnvalue">xmlSecKeyPtr</span></a> xmlSecMSCngAppKeyLoadMemory (<em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>, <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>, <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>, <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>, <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>, <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre> <p>Reads key from a binary <em class="parameter"><code>data</code></em> .</p> <div class="refsect3"> <a name="xmlSecMSCngAppKeyLoadMemory.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 binary data.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>dataSize</p></td> <td class="parameter_description"><p>the key binary data size.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>format</p></td> <td class="parameter_description"><p>the key data format.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>pwd</p></td> <td class="parameter_description"><p>the key data2 password.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>pwdCallback</p></td> <td class="parameter_description"><p>the key password callback.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>pwdCallbackCtx</p></td> <td class="parameter_description"><p>the user context for password callback.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="xmlSecMSCngAppKeyLoadMemory.returns"></a><h4>Returns</h4> <p> pointer to the key or NULL if an error occurs.</p> </div> </div> <hr> <div class="refsect2"> <a name="xmlSecMSCngAppPkcs12Load"></a><h3>xmlSecMSCngAppPkcs12Load ()</h3> <pre class="programlisting"><a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey"><span class="returnvalue">xmlSecKeyPtr</span></a> xmlSecMSCngAppPkcs12Load (<em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>, <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>, <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>, <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre> <p>Reads key and all associated certificates from the PKCS12 file.</p> <p>For uniformity, call <em class="parameter"><code>xmlSecMSCngAppKeyLoadEx</code></em> instead of this function. Pass in format=xmlSecKeyDataFormatPkcs12.</p> <div class="refsect3"> <a name="xmlSecMSCngAppPkcs12Load.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>filename</p></td> <td class="parameter_description"><p>the PKCS12 key filename.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>pwd</p></td> <td class="parameter_description"><p>the PKCS12 file password.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>pwdCallback</p></td> <td class="parameter_description"><p>the password callback.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>pwdCallbackCtx</p></td> <td class="parameter_description"><p>the user context for password callback.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="xmlSecMSCngAppPkcs12Load.returns"></a><h4>Returns</h4> <p> pointer to the key or NULL if an error occurs.</p> </div> </div> <hr> <div class="refsect2"> <a name="xmlSecMSCngAppPkcs12LoadMemory"></a><h3>xmlSecMSCngAppPkcs12LoadMemory ()</h3> <pre class="programlisting"><a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey"><span class="returnvalue">xmlSecKeyPtr</span></a> xmlSecMSCngAppPkcs12LoadMemory (<em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>, <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>, <em class="parameter"><code>const <font><span class="type">char</span></font> *pwd</code></em>, <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallback</code></em>, <em class="parameter"><code><font><span class="type">void</span></font> *pwdCallbackCtx</code></em>);</pre> <p>Reads key and all associated certificates from the PKCS12 binary data. For uniformity, call <em class="parameter"><code>xmlSecMSCngAppKeyLoadEx</code></em> instead of this function. Pass in format=xmlSecKeyDataFormatPkcs12.</p> <div class="refsect3"> <a name="xmlSecMSCngAppPkcs12LoadMemory.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 binary data.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>dataSize</p></td> <td class="parameter_description"><p>the key binary data size.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>pwd</p></td> <td class="parameter_description"><p>the PKCS12 password.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>pwdCallback</p></td> <td class="parameter_description"><p>the password callback.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>pwdCallbackCtx</p></td> <td class="parameter_description"><p>the user context for password callback.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="xmlSecMSCngAppPkcs12LoadMemory.returns"></a><h4>Returns</h4> <p> pointer to the key or NULL if an error occurs.</p> </div> </div> <hr> <div class="refsect2"> <a name="xmlSecMSCngAppKeyCertLoad"></a><h3>xmlSecMSCngAppKeyCertLoad ()</h3> <pre class="programlisting"><font><span class="returnvalue">int</span></font> xmlSecMSCngAppKeyCertLoad (<em class="parameter"><code><a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey"><span class="type">xmlSecKeyPtr</span></a> key</code></em>, <em class="parameter"><code>const <font><span class="type">char</span></font> *filename</code></em>, <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>);</pre> <p>Reads the certificate from $<em class="parameter"><code>filename</code></em> and adds it to key.</p> <div class="refsect3"> <a name="xmlSecMSCngAppKeyCertLoad.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>key</p></td> <td class="parameter_description"><p>the pointer to key.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>filename</p></td> <td class="parameter_description"><p>the certificate filename.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>format</p></td> <td class="parameter_description"><p>the certificate file format.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="xmlSecMSCngAppKeyCertLoad.returns"></a><h4>Returns</h4> <p> 0 on success or a negative value otherwise.</p> </div> </div> <hr> <div class="refsect2"> <a name="xmlSecMSCngAppKeyCertLoadMemory"></a><h3>xmlSecMSCngAppKeyCertLoadMemory ()</h3> <pre class="programlisting"><font><span class="returnvalue">int</span></font> xmlSecMSCngAppKeyCertLoadMemory (<em class="parameter"><code><a class="link" href="xmlsec-keys.html#xmlSecKey" title="struct xmlSecKey"><span class="type">xmlSecKeyPtr</span></a> key</code></em>, <em class="parameter"><code>const <a class="link" href="xmlsec-xmlsec.html#xmlSecByte" title="xmlSecByte"><span class="type">xmlSecByte</span></a> *data</code></em>, <em class="parameter"><code><a class="link" href="xmlsec-xmlsec.html#xmlSecSize" title="xmlSecSize"><span class="type">xmlSecSize</span></a> dataSize</code></em>, <em class="parameter"><code><a class="link" href="xmlsec-keysdata.html#xmlSecKeyDataFormat" title="enum xmlSecKeyDataFormat"><span class="type">xmlSecKeyDataFormat</span></a> format</code></em>);</pre> <p>Reads the certificate from memory buffer and adds it to key.</p> <div class="refsect3"> <a name="xmlSecMSCngAppKeyCertLoadMemory.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>key</p></td> <td class="parameter_description"><p>the pointer to key.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>data</p></td> <td class="parameter_description"><p>the certificate binary data.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>dataSize</p></td> <td class="parameter_description"><p>the certificate binary data size.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>format</p></td> <td class="parameter_description"><p>the certificate file format.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="xmlSecMSCngAppKeyCertLoadMemory.returns"></a><h4>Returns</h4> <p> 0 on success or a negative value otherwise.</p> </div> </div> <hr> <div class="refsect2"> <a name="xmlSecMSCngAppGetDefaultPwdCallback"></a><h3>xmlSecMSCngAppGetDefaultPwdCallback ()</h3> <pre class="programlisting"><font><span class="returnvalue">void</span></font> * xmlSecMSCngAppGetDefaultPwdCallback (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> <p>Gets default password callback.</p> <div class="refsect3"> <a name="xmlSecMSCngAppGetDefaultPwdCallback.returns"></a><h4>Returns</h4> <p> default password callback.</p> </div> </div> </div> </div> <div class="footer"> <hr>Generated by GTK-Doc V1.34.0</div> </body> </html>