<refentry id="xmlsec-private">
<refmeta>
<refentrytitle role="top_of_page" id="xmlsec-private.top_of_page">private</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>XMLSEC Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>private</refname>
<refpurpose>Private header for building xmlsec-crypto-engine libraries.</refpurpose>
</refnamediv>

<refsynopsisdiv id="xmlsec-private.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>

<synopsis>
<link linkend="int">int</link>                 (<link linkend="xmlSecCryptoInitMethod">*xmlSecCryptoInitMethod</link>)           (void);
<link linkend="int">int</link>                 (<link linkend="xmlSecCryptoShutdownMethod">*xmlSecCryptoShutdownMethod</link>)       (void);
<link linkend="int">int</link>                 (<link linkend="xmlSecCryptoKeysMngrInitMethod">*xmlSecCryptoKeysMngrInitMethod</link>)   (<link linkend="xmlSecKeysMngr">xmlSecKeysMngrPtr</link> mngr);
<link linkend="xmlSecKeyDataId">xmlSecKeyDataId</link>     (<link linkend="xmlSecCryptoKeyDataGetKlassMethod">*xmlSecCryptoKeyDataGetKlassMethod</link>)
                                                        (void);
<link linkend="xmlSecKeyDataStoreId">xmlSecKeyDataStoreId</link>  (<link linkend="xmlSecCryptoKeyDataStoreGetKlassMethod">*xmlSecCryptoKeyDataStoreGetKlassMethod</link>)
                                                        (void);
<link linkend="xmlSecTransformId">xmlSecTransformId</link>   (<link linkend="xmlSecCryptoTransformGetKlassMethod">*xmlSecCryptoTransformGetKlassMethod</link>)
                                                        (void);
<link linkend="int">int</link>                 (<link linkend="xmlSecCryptoAppInitMethod">*xmlSecCryptoAppInitMethod</link>)        (const <link linkend="char">char</link> *config);
<link linkend="int">int</link>                 (<link linkend="xmlSecCryptoAppShutdownMethod">*xmlSecCryptoAppShutdownMethod</link>)    (void);
<link linkend="int">int</link>                 (<link linkend="xmlSecCryptoAppKeysMngrCertLoadMethod">*xmlSecCryptoAppKeysMngrCertLoadMethod</link>)
                                                        (<link linkend="xmlSecKeysMngr">xmlSecKeysMngrPtr</link> mngr,
                                                         const <link linkend="char">char</link> *filename,
                                                         <link linkend="xmlSecKeyDataFormat">xmlSecKeyDataFormat</link> format,
                                                         <link linkend="xmlSecKeyDataType">xmlSecKeyDataType</link> type);
<link linkend="int">int</link>                 (<link linkend="xmlSecCryptoAppKeysMngrCertLoadMemoryMethod">*xmlSecCryptoAppKeysMngrCertLoadMemoryMethod</link>)
                                                        (<link linkend="xmlSecKeysMngr">xmlSecKeysMngrPtr</link> mngr,
                                                         const <link linkend="xmlSecByte">xmlSecByte</link> *data,
                                                         <link linkend="xmlSecSize">xmlSecSize</link> dataSize,
                                                         <link linkend="xmlSecKeyDataFormat">xmlSecKeyDataFormat</link> format,
                                                         <link linkend="xmlSecKeyDataType">xmlSecKeyDataType</link> type);
<link linkend="xmlSecKey">xmlSecKeyPtr</link>        (<link linkend="xmlSecCryptoAppKeyLoadMethod">*xmlSecCryptoAppKeyLoadMethod</link>)     (const <link linkend="char">char</link> *filename,
                                                         <link linkend="xmlSecKeyDataFormat">xmlSecKeyDataFormat</link> format,
                                                         const <link linkend="char">char</link> *pwd,
                                                         <link linkend="void">void</link> *pwdCallback,
                                                         <link linkend="void">void</link> *pwdCallbackCtx);
<link linkend="xmlSecKey">xmlSecKeyPtr</link>        (<link linkend="xmlSecCryptoAppKeyLoadMemoryMethod">*xmlSecCryptoAppKeyLoadMemoryMethod</link>)
                                                        (const <link linkend="xmlSecByte">xmlSecByte</link> *data,
                                                         <link linkend="xmlSecSize">xmlSecSize</link> dataSize,
                                                         <link linkend="xmlSecKeyDataFormat">xmlSecKeyDataFormat</link> format,
                                                         const <link linkend="char">char</link> *pwd,
                                                         <link linkend="void">void</link> *pwdCallback,
                                                         <link linkend="void">void</link> *pwdCallbackCtx);
<link linkend="xmlSecKey">xmlSecKeyPtr</link>        (<link linkend="xmlSecCryptoAppPkcs12LoadMethod">*xmlSecCryptoAppPkcs12LoadMethod</link>)  (const <link linkend="char">char</link> *filename,
                                                         const <link linkend="char">char</link> *pwd,
                                                         <link linkend="void">void</link> *pwdCallback,
                                                         <link linkend="void">void</link> *pwdCallbackCtx);
<link linkend="xmlSecKey">xmlSecKeyPtr</link>        (<link linkend="xmlSecCryptoAppPkcs12LoadMemoryMethod">*xmlSecCryptoAppPkcs12LoadMemoryMethod</link>)
                                                        (const <link linkend="xmlSecByte">xmlSecByte</link> *data,
                                                         <link linkend="xmlSecSize">xmlSecSize</link> dataSize,
                                                         const <link linkend="char">char</link> *pwd,
                                                         <link linkend="void">void</link> *pwdCallback,
                                                         <link linkend="void">void</link> *pwdCallbackCtx);
<link linkend="int">int</link>                 (<link linkend="xmlSecCryptoAppKeyCertLoadMethod">*xmlSecCryptoAppKeyCertLoadMethod</link>) (<link linkend="xmlSecKey">xmlSecKeyPtr</link> key,
                                                         const <link linkend="char">char</link> *filename,
                                                         <link linkend="xmlSecKeyDataFormat">xmlSecKeyDataFormat</link> format);
<link linkend="int">int</link>                 (<link linkend="xmlSecCryptoAppKeyCertLoadMemoryMethod">*xmlSecCryptoAppKeyCertLoadMemoryMethod</link>)
                                                        (<link linkend="xmlSecKey">xmlSecKeyPtr</link> key,
                                                         const <link linkend="xmlSecByte">xmlSecByte</link> *data,
                                                         <link linkend="xmlSecSize">xmlSecSize</link> dataSize,
                                                         <link linkend="xmlSecKeyDataFormat">xmlSecKeyDataFormat</link> format);
struct              <link linkend="xmlSecCryptoDLFunctions">xmlSecCryptoDLFunctions</link>;
#define             <link linkend="xmlSecStrPrintf">xmlSecStrPrintf</link>
#define             <link linkend="xmlSecStrVPrintf">xmlSecStrVPrintf</link>
</synopsis>
</refsynopsisdiv>









<refsect1 id="xmlsec-private.description" role="desc">
<title role="desc.title">Description</title>
<para>
Private header for building xmlsec-crypto-engine libraries.
</para>
</refsect1>

<refsect1 id="xmlsec-private.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="xmlSecCryptoInitMethod" role="function">
<title>xmlSecCryptoInitMethod ()</title>
<indexterm zone="xmlSecCryptoInitMethod"><primary sortas="xmlSecCryptoInitMethod">xmlSecCryptoInitMethod</primary></indexterm><programlisting><link linkend="int">int</link>                 (*xmlSecCryptoInitMethod)           (void);</programlisting>
<para>
xmlsec-crypto libraryinitialization method.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value otherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecCryptoShutdownMethod" role="function">
<title>xmlSecCryptoShutdownMethod ()</title>
<indexterm zone="xmlSecCryptoShutdownMethod"><primary sortas="xmlSecCryptoShutdownMethod">xmlSecCryptoShutdownMethod</primary></indexterm><programlisting><link linkend="int">int</link>                 (*xmlSecCryptoShutdownMethod)       (void);</programlisting>
<para>
xmlsec-crypto library shutdown method.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value otherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecCryptoKeysMngrInitMethod" role="function">
<title>xmlSecCryptoKeysMngrInitMethod ()</title>
<indexterm zone="xmlSecCryptoKeysMngrInitMethod"><primary sortas="xmlSecCryptoKeysMngrInitMethod">xmlSecCryptoKeysMngrInitMethod</primary></indexterm><programlisting><link linkend="int">int</link>                 (*xmlSecCryptoKeysMngrInitMethod)   (<link linkend="xmlSecKeysMngr">xmlSecKeysMngrPtr</link> mngr);</programlisting>
<para>
Initializes <parameter>mngr</parameter> with xmlsec-crypto library specific data.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>mngr</parameter>&#160;:</term>
<listitem><simpara>               the pointer to keys manager.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value otherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecCryptoKeyDataGetKlassMethod" role="function">
<title>xmlSecCryptoKeyDataGetKlassMethod ()</title>
<indexterm zone="xmlSecCryptoKeyDataGetKlassMethod"><primary sortas="xmlSecCryptoKeyDataGetKlassMethod">xmlSecCryptoKeyDataGetKlassMethod</primary></indexterm><programlisting><link linkend="xmlSecKeyDataId">xmlSecKeyDataId</link>     (*xmlSecCryptoKeyDataGetKlassMethod)
                                                        (void);</programlisting>
<para>
Gets the key data klass.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> pointer to key data klass or NULL if an error occurs
(the xmlsec-crypto library is not loaded or this key data klass is not
implemented).
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecCryptoKeyDataStoreGetKlassMethod" role="function">
<title>xmlSecCryptoKeyDataStoreGetKlassMethod ()</title>
<indexterm zone="xmlSecCryptoKeyDataStoreGetKlassMethod"><primary sortas="xmlSecCryptoKeyDataStoreGetKlassMethod">xmlSecCryptoKeyDataStoreGetKlassMethod</primary></indexterm><programlisting><link linkend="xmlSecKeyDataStoreId">xmlSecKeyDataStoreId</link>  (*xmlSecCryptoKeyDataStoreGetKlassMethod)
                                                        (void);</programlisting>
<para>
Gets the key data store klass.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> pointer to key data store klass or NULL if an error occurs
(the xmlsec-crypto library is not loaded or this key data store klass is not
implemented).
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecCryptoTransformGetKlassMethod" role="function">
<title>xmlSecCryptoTransformGetKlassMethod ()</title>
<indexterm zone="xmlSecCryptoTransformGetKlassMethod"><primary sortas="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</primary></indexterm><programlisting><link linkend="xmlSecTransformId">xmlSecTransformId</link>   (*xmlSecCryptoTransformGetKlassMethod)
                                                        (void);</programlisting>
<para>
Gets the transform klass.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> pointer to transform klass or NULL if an error occurs
(the xmlsec-crypto library is not loaded or this transform is not
implemented).
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecCryptoAppInitMethod" role="function">
<title>xmlSecCryptoAppInitMethod ()</title>
<indexterm zone="xmlSecCryptoAppInitMethod"><primary sortas="xmlSecCryptoAppInitMethod">xmlSecCryptoAppInitMethod</primary></indexterm><programlisting><link linkend="int">int</link>                 (*xmlSecCryptoAppInitMethod)        (const <link linkend="char">char</link> *config);</programlisting>
<para>
General crypto engine initialization. This function is used
by XMLSec command line utility and called before
<parameter>xmlSecInit</parameter> function.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>config</parameter>&#160;:</term>
<listitem><simpara>             the path to crypto library configuration.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value otherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecCryptoAppShutdownMethod" role="function">
<title>xmlSecCryptoAppShutdownMethod ()</title>
<indexterm zone="xmlSecCryptoAppShutdownMethod"><primary sortas="xmlSecCryptoAppShutdownMethod">xmlSecCryptoAppShutdownMethod</primary></indexterm><programlisting><link linkend="int">int</link>                 (*xmlSecCryptoAppShutdownMethod)    (void);</programlisting>
<para>
General crypto engine shutdown. This function is used
by XMLSec command line utility and called after
<parameter>xmlSecShutdown</parameter> function.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value otherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecCryptoAppKeysMngrCertLoadMethod" role="function">
<title>xmlSecCryptoAppKeysMngrCertLoadMethod ()</title>
<indexterm zone="xmlSecCryptoAppKeysMngrCertLoadMethod"><primary sortas="xmlSecCryptoAppKeysMngrCertLoadMethod">xmlSecCryptoAppKeysMngrCertLoadMethod</primary></indexterm><programlisting><link linkend="int">int</link>                 (*xmlSecCryptoAppKeysMngrCertLoadMethod)
                                                        (<link linkend="xmlSecKeysMngr">xmlSecKeysMngrPtr</link> mngr,
                                                         const <link linkend="char">char</link> *filename,
                                                         <link linkend="xmlSecKeyDataFormat">xmlSecKeyDataFormat</link> format,
                                                         <link linkend="xmlSecKeyDataType">xmlSecKeyDataType</link> type);</programlisting>
<para>
Reads cert from <parameter>filename</parameter> and adds to the list of trusted or known
untrusted certs in <parameter>store</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>mngr</parameter>&#160;:</term>
<listitem><simpara>               the keys manager.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>filename</parameter>&#160;:</term>
<listitem><simpara>           the certificate file.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>format</parameter>&#160;:</term>
<listitem><simpara>             the certificate file format.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>type</parameter>&#160;:</term>
<listitem><simpara>               the flag that indicates is the certificate in <parameter>filename</parameter>
                     trusted or not.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value otherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecCryptoAppKeysMngrCertLoadMemoryMethod" role="function">
<title>xmlSecCryptoAppKeysMngrCertLoadMemoryMethod ()</title>
<indexterm zone="xmlSecCryptoAppKeysMngrCertLoadMemoryMethod"><primary sortas="xmlSecCryptoAppKeysMngrCertLoadMemoryMethod">xmlSecCryptoAppKeysMngrCertLoadMemoryMethod</primary></indexterm><programlisting><link linkend="int">int</link>                 (*xmlSecCryptoAppKeysMngrCertLoadMemoryMethod)
                                                        (<link linkend="xmlSecKeysMngr">xmlSecKeysMngrPtr</link> mngr,
                                                         const <link linkend="xmlSecByte">xmlSecByte</link> *data,
                                                         <link linkend="xmlSecSize">xmlSecSize</link> dataSize,
                                                         <link linkend="xmlSecKeyDataFormat">xmlSecKeyDataFormat</link> format,
                                                         <link linkend="xmlSecKeyDataType">xmlSecKeyDataType</link> type);</programlisting>
<para>
Reads cert from <parameter>data</parameter> and adds to the list of trusted or known
untrusted certs in <parameter>store</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>mngr</parameter>&#160;:</term>
<listitem><simpara>               the keys manager.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&#160;:</term>
<listitem><simpara>               the key data.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>dataSize</parameter>&#160;:</term>
<listitem><simpara>           the key data size.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>format</parameter>&#160;:</term>
<listitem><simpara>             the certificate format.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>type</parameter>&#160;:</term>
<listitem><simpara>               the flag that indicates is the certificate in <parameter>data</parameter>
                     trusted or not.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value otherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecCryptoAppKeyLoadMethod" role="function">
<title>xmlSecCryptoAppKeyLoadMethod ()</title>
<indexterm zone="xmlSecCryptoAppKeyLoadMethod"><primary sortas="xmlSecCryptoAppKeyLoadMethod">xmlSecCryptoAppKeyLoadMethod</primary></indexterm><programlisting><link linkend="xmlSecKey">xmlSecKeyPtr</link>        (*xmlSecCryptoAppKeyLoadMethod)     (const <link linkend="char">char</link> *filename,
                                                         <link linkend="xmlSecKeyDataFormat">xmlSecKeyDataFormat</link> format,
                                                         const <link linkend="char">char</link> *pwd,
                                                         <link linkend="void">void</link> *pwdCallback,
                                                         <link linkend="void">void</link> *pwdCallbackCtx);</programlisting>
<para>
Reads key from the a file.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>filename</parameter>&#160;:</term>
<listitem><simpara>           the key filename.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>format</parameter>&#160;:</term>
<listitem><simpara>             the key file format.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pwd</parameter>&#160;:</term>
<listitem><simpara>                the key file password.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pwdCallback</parameter>&#160;:</term>
<listitem><simpara>        the key password callback.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pwdCallbackCtx</parameter>&#160;:</term>
<listitem><simpara>     the user context for password callback.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> pointer to the key or NULL if an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecCryptoAppKeyLoadMemoryMethod" role="function">
<title>xmlSecCryptoAppKeyLoadMemoryMethod ()</title>
<indexterm zone="xmlSecCryptoAppKeyLoadMemoryMethod"><primary sortas="xmlSecCryptoAppKeyLoadMemoryMethod">xmlSecCryptoAppKeyLoadMemoryMethod</primary></indexterm><programlisting><link linkend="xmlSecKey">xmlSecKeyPtr</link>        (*xmlSecCryptoAppKeyLoadMemoryMethod)
                                                        (const <link linkend="xmlSecByte">xmlSecByte</link> *data,
                                                         <link linkend="xmlSecSize">xmlSecSize</link> dataSize,
                                                         <link linkend="xmlSecKeyDataFormat">xmlSecKeyDataFormat</link> format,
                                                         const <link linkend="char">char</link> *pwd,
                                                         <link linkend="void">void</link> *pwdCallback,
                                                         <link linkend="void">void</link> *pwdCallbackCtx);</programlisting>
<para>
Reads key from the binary data buffer.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>data</parameter>&#160;:</term>
<listitem><simpara>               the key data.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>dataSize</parameter>&#160;:</term>
<listitem><simpara>           the key data size.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>format</parameter>&#160;:</term>
<listitem><simpara>             the key data format.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pwd</parameter>&#160;:</term>
<listitem><simpara>                the key data password.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pwdCallback</parameter>&#160;:</term>
<listitem><simpara>        the key password callback.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pwdCallbackCtx</parameter>&#160;:</term>
<listitem><simpara>     the user context for password callback.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> pointer to the key or NULL if an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecCryptoAppPkcs12LoadMethod" role="function">
<title>xmlSecCryptoAppPkcs12LoadMethod ()</title>
<indexterm zone="xmlSecCryptoAppPkcs12LoadMethod"><primary sortas="xmlSecCryptoAppPkcs12LoadMethod">xmlSecCryptoAppPkcs12LoadMethod</primary></indexterm><programlisting><link linkend="xmlSecKey">xmlSecKeyPtr</link>        (*xmlSecCryptoAppPkcs12LoadMethod)  (const <link linkend="char">char</link> *filename,
                                                         const <link linkend="char">char</link> *pwd,
                                                         <link linkend="void">void</link> *pwdCallback,
                                                         <link linkend="void">void</link> *pwdCallbackCtx);</programlisting>
<para>
Reads key and all associated certificates from the PKCS12 file.
For uniformity, call xmlSecCryptoAppKeyLoad instead of this function. Pass
in format=xmlSecKeyDataFormatPkcs12.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>filename</parameter>&#160;:</term>
<listitem><simpara>           the PKCS12 key filename.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pwd</parameter>&#160;:</term>
<listitem><simpara>                the PKCS12 file password.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pwdCallback</parameter>&#160;:</term>
<listitem><simpara>        the password callback.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pwdCallbackCtx</parameter>&#160;:</term>
<listitem><simpara>     the user context for password callback.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> pointer to the key or NULL if an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecCryptoAppPkcs12LoadMemoryMethod" role="function">
<title>xmlSecCryptoAppPkcs12LoadMemoryMethod ()</title>
<indexterm zone="xmlSecCryptoAppPkcs12LoadMemoryMethod"><primary sortas="xmlSecCryptoAppPkcs12LoadMemoryMethod">xmlSecCryptoAppPkcs12LoadMemoryMethod</primary></indexterm><programlisting><link linkend="xmlSecKey">xmlSecKeyPtr</link>        (*xmlSecCryptoAppPkcs12LoadMemoryMethod)
                                                        (const <link linkend="xmlSecByte">xmlSecByte</link> *data,
                                                         <link linkend="xmlSecSize">xmlSecSize</link> dataSize,
                                                         const <link linkend="char">char</link> *pwd,
                                                         <link linkend="void">void</link> *pwdCallback,
                                                         <link linkend="void">void</link> *pwdCallbackCtx);</programlisting>
<para>
Reads key and all associated certificates from the PKCS12 binary data.
For uniformity, call xmlSecCryptoAppKeyLoad instead of this function. Pass
in format=xmlSecKeyDataFormatPkcs12.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>data</parameter>&#160;:</term>
<listitem><simpara>               the pkcs12 data.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>dataSize</parameter>&#160;:</term>
<listitem><simpara>           the pkcs12 data size.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pwd</parameter>&#160;:</term>
<listitem><simpara>                the PKCS12 data password.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pwdCallback</parameter>&#160;:</term>
<listitem><simpara>        the password callback.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pwdCallbackCtx</parameter>&#160;:</term>
<listitem><simpara>     the user context for password callback.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> pointer to the key or NULL if an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecCryptoAppKeyCertLoadMethod" role="function">
<title>xmlSecCryptoAppKeyCertLoadMethod ()</title>
<indexterm zone="xmlSecCryptoAppKeyCertLoadMethod"><primary sortas="xmlSecCryptoAppKeyCertLoadMethod">xmlSecCryptoAppKeyCertLoadMethod</primary></indexterm><programlisting><link linkend="int">int</link>                 (*xmlSecCryptoAppKeyCertLoadMethod) (<link linkend="xmlSecKey">xmlSecKeyPtr</link> key,
                                                         const <link linkend="char">char</link> *filename,
                                                         <link linkend="xmlSecKeyDataFormat">xmlSecKeyDataFormat</link> format);</programlisting>
<para>
Reads the certificate from $<parameter>filename</parameter> and adds it to key.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>key</parameter>&#160;:</term>
<listitem><simpara>                the pointer to key.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>filename</parameter>&#160;:</term>
<listitem><simpara>           the certificate filename.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>format</parameter>&#160;:</term>
<listitem><simpara>             the certificate file format.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value otherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecCryptoAppKeyCertLoadMemoryMethod" role="function">
<title>xmlSecCryptoAppKeyCertLoadMemoryMethod ()</title>
<indexterm zone="xmlSecCryptoAppKeyCertLoadMemoryMethod"><primary sortas="xmlSecCryptoAppKeyCertLoadMemoryMethod">xmlSecCryptoAppKeyCertLoadMemoryMethod</primary></indexterm><programlisting><link linkend="int">int</link>                 (*xmlSecCryptoAppKeyCertLoadMemoryMethod)
                                                        (<link linkend="xmlSecKey">xmlSecKeyPtr</link> key,
                                                         const <link linkend="xmlSecByte">xmlSecByte</link> *data,
                                                         <link linkend="xmlSecSize">xmlSecSize</link> dataSize,
                                                         <link linkend="xmlSecKeyDataFormat">xmlSecKeyDataFormat</link> format);</programlisting>
<para>
Reads the certificate from binary <parameter>data</parameter> buffer and adds it to key.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>key</parameter>&#160;:</term>
<listitem><simpara>                the pointer to key.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&#160;:</term>
<listitem><simpara>               the cert data.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>dataSize</parameter>&#160;:</term>
<listitem><simpara>           the cert data size.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>format</parameter>&#160;:</term>
<listitem><simpara>             the certificate data format.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value otherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecCryptoDLFunctions" role="struct">
<title>struct xmlSecCryptoDLFunctions</title>
<indexterm zone="xmlSecCryptoDLFunctions"><primary sortas="xmlSecCryptoDLFunctions">xmlSecCryptoDLFunctions</primary></indexterm><programlisting>struct xmlSecCryptoDLFunctions {
    /* Crypto Init/shutdown */
    xmlSecCryptoInitMethod                       cryptoInit;
    xmlSecCryptoShutdownMethod                   cryptoShutdown;
    xmlSecCryptoKeysMngrInitMethod               cryptoKeysMngrInit;

    /* Key data ids */
    xmlSecCryptoKeyDataGetKlassMethod            keyDataAesGetKlass;
    xmlSecCryptoKeyDataGetKlassMethod            keyDataDesGetKlass;
    xmlSecCryptoKeyDataGetKlassMethod            keyDataDsaGetKlass;
    xmlSecCryptoKeyDataGetKlassMethod            keyDataEcdsaGetKlass;
    xmlSecCryptoKeyDataGetKlassMethod            keyDataGost2001GetKlass;
    xmlSecCryptoKeyDataGetKlassMethod            keyDataHmacGetKlass;
    xmlSecCryptoKeyDataGetKlassMethod            keyDataRsaGetKlass;
    xmlSecCryptoKeyDataGetKlassMethod            keyDataX509GetKlass;
    xmlSecCryptoKeyDataGetKlassMethod            keyDataRawX509CertGetKlass;

    /* Key data store ids */
    xmlSecCryptoKeyDataStoreGetKlassMethod       x509StoreGetKlass;

    /* Crypto transforms ids */
    xmlSecCryptoTransformGetKlassMethod          transformAes128CbcGetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformAes192CbcGetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformAes256CbcGetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformKWAes128GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformKWAes192GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformKWAes256GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformDes3CbcGetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformKWDes3GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformDsaSha1GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformDsaSha256GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformEcdsaSha1GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformEcdsaSha224GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformEcdsaSha256GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformEcdsaSha384GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformEcdsaSha512GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformGost2001GostR3411_94GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformHmacMd5GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformHmacRipemd160GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformHmacSha1GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformHmacSha224GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformHmacSha256GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformHmacSha384GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformHmacSha512GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformMd5GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformRipemd160GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformRsaMd5GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformRsaRipemd160GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformRsaSha1GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformRsaSha224GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformRsaSha256GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformRsaSha384GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformRsaSha512GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformRsaPkcs1GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformRsaOaepGetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformGostR3411_94GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformSha1GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformSha224GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformSha256GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformSha384GetKlass;
    xmlSecCryptoTransformGetKlassMethod          transformSha512GetKlass;

    /* High level routines form xmlsec command line utility */
    xmlSecCryptoAppInitMethod                    cryptoAppInit;
    xmlSecCryptoAppShutdownMethod                cryptoAppShutdown;
    xmlSecCryptoAppDefaultKeysMngrInitMethod     cryptoAppDefaultKeysMngrInit;
    xmlSecCryptoAppDefaultKeysMngrAdoptKeyMethod cryptoAppDefaultKeysMngrAdoptKey;
    xmlSecCryptoAppDefaultKeysMngrLoadMethod     cryptoAppDefaultKeysMngrLoad;
    xmlSecCryptoAppDefaultKeysMngrSaveMethod     cryptoAppDefaultKeysMngrSave;
    xmlSecCryptoAppKeysMngrCertLoadMethod        cryptoAppKeysMngrCertLoad;
    xmlSecCryptoAppKeysMngrCertLoadMemoryMethod  cryptoAppKeysMngrCertLoadMemory;
    xmlSecCryptoAppKeyLoadMethod                 cryptoAppKeyLoad;
    xmlSecCryptoAppKeyLoadMemoryMethod           cryptoAppKeyLoadMemory;
    xmlSecCryptoAppPkcs12LoadMethod              cryptoAppPkcs12Load;
    xmlSecCryptoAppPkcs12LoadMemoryMethod        cryptoAppPkcs12LoadMemory;
    xmlSecCryptoAppKeyCertLoadMethod             cryptoAppKeyCertLoad;
    xmlSecCryptoAppKeyCertLoadMemoryMethod       cryptoAppKeyCertLoadMemory;
    void*                                        cryptoAppDefaultPwdCallback;
};
</programlisting>
<para>
The list of crypto engine functions, key data and transform classes.</para>
<para>
</para><variablelist role="struct">
<varlistentry>
<term><link linkend="xmlSecCryptoInitMethod">xmlSecCryptoInitMethod</link>&#160;<structfield>cryptoInit</structfield>;</term>
<listitem><simpara>                 the xmlsec-crypto library initialization method.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoShutdownMethod">xmlSecCryptoShutdownMethod</link>&#160;<structfield>cryptoShutdown</structfield>;</term>
<listitem><simpara>             the xmlsec-crypto library shutdown method.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoKeysMngrInitMethod">xmlSecCryptoKeysMngrInitMethod</link>&#160;<structfield>cryptoKeysMngrInit</structfield>;</term>
<listitem><simpara>         the xmlsec-crypto library keys manager init method.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoKeyDataGetKlassMethod">xmlSecCryptoKeyDataGetKlassMethod</link>&#160;<structfield>keyDataAesGetKlass</structfield>;</term>
<listitem><simpara>         the method to get pointer to AES key data klass.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoKeyDataGetKlassMethod">xmlSecCryptoKeyDataGetKlassMethod</link>&#160;<structfield>keyDataDesGetKlass</structfield>;</term>
<listitem><simpara>         the method to get pointer to DES key data klass.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoKeyDataGetKlassMethod">xmlSecCryptoKeyDataGetKlassMethod</link>&#160;<structfield>keyDataDsaGetKlass</structfield>;</term>
<listitem><simpara>         the method to get pointer to DSA key data klass.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoKeyDataGetKlassMethod">xmlSecCryptoKeyDataGetKlassMethod</link>&#160;<structfield>keyDataEcdsaGetKlass</structfield>;</term>
<listitem><simpara>       the method to get pointer to ECDSA key data klass.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoKeyDataGetKlassMethod">xmlSecCryptoKeyDataGetKlassMethod</link>&#160;<structfield>keyDataGost2001GetKlass</structfield>;</term>
<listitem><simpara>    the method to get pointer to GOST 2001 key data klass.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoKeyDataGetKlassMethod">xmlSecCryptoKeyDataGetKlassMethod</link>&#160;<structfield>keyDataHmacGetKlass</structfield>;</term>
<listitem><simpara>        the method to get pointer to HMAC key data klass.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoKeyDataGetKlassMethod">xmlSecCryptoKeyDataGetKlassMethod</link>&#160;<structfield>keyDataRsaGetKlass</structfield>;</term>
<listitem><simpara>         the method to get pointer to RSA key data klass.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoKeyDataGetKlassMethod">xmlSecCryptoKeyDataGetKlassMethod</link>&#160;<structfield>keyDataX509GetKlass</structfield>;</term>
<listitem><simpara>        the method to get pointer to X509 key data klass.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoKeyDataGetKlassMethod">xmlSecCryptoKeyDataGetKlassMethod</link>&#160;<structfield>keyDataRawX509CertGetKlass</structfield>;</term>
<listitem><simpara> the method to get pointer to raw X509 cert key data klass.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoKeyDataStoreGetKlassMethod">xmlSecCryptoKeyDataStoreGetKlassMethod</link>&#160;<structfield>x509StoreGetKlass</structfield>;</term>
<listitem><simpara>          the method to get pointer to X509 key data store.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformAes128CbcGetKlass</structfield>;</term>
<listitem><simpara> the method to get pointer to AES 128 encryption transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformAes192CbcGetKlass</structfield>;</term>
<listitem><simpara> the method to get pointer to AES 192 encryption transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformAes256CbcGetKlass</structfield>;</term>
<listitem><simpara> the method to get pointer to AES 256 encryption transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformKWAes128GetKlass</structfield>;</term>
<listitem><simpara>  the method to get pointer to AES 128 key wrapper transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformKWAes192GetKlass</structfield>;</term>
<listitem><simpara>  the method to get pointer to AES 192 key wrapper transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformKWAes256GetKlass</structfield>;</term>
<listitem><simpara>  the method to get pointer to AES 256 key wrapper transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformDes3CbcGetKlass</structfield>;</term>
<listitem><simpara>   the method to get pointer to Triple DES encryption transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformKWDes3GetKlass</structfield>;</term>
<listitem><simpara>    the method to get pointer to Triple DES key wrapper transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformDsaSha1GetKlass</structfield>;</term>
<listitem><simpara>   the method to get pointer to DSA-SHA1 signature transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformDsaSha256GetKlass</structfield>;</term>
<listitem><simpara> the method to get pointer to DSA-SHA256 signature transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformEcdsaSha1GetKlass</structfield>;</term>
<listitem><simpara> the method to get pointer to ECDSA-SHA1 signature transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformEcdsaSha224GetKlass</structfield>;</term>
<listitem><simpara> the method to get pointer to ECDSA-SHA224 signature transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformEcdsaSha256GetKlass</structfield>;</term>
<listitem><simpara> the method to get pointer to ECDSA-SHA256 signature transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformEcdsaSha384GetKlass</structfield>;</term>
<listitem><simpara> the method to get pointer to ECDSA-SHA384 signature transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformEcdsaSha512GetKlass</structfield>;</term>
<listitem><simpara> the method to get pointer to ECDSA-SHA512 signature transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformGost2001GostR3411_94GetKlass</structfield>;</term>
<listitem><simpara> the method to get pointer to GOST2001 transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformHmacMd5GetKlass</structfield>;</term>
<listitem><simpara>   the method to get pointer to HMAC-MD5 transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformHmacRipemd160GetKlass</structfield>;</term>
<listitem><simpara> the method to get pointer to HMAC-RIPEMD160 transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformHmacSha1GetKlass</structfield>;</term>
<listitem><simpara>  the method to get pointer to HMAC-SHA1 transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformHmacSha224GetKlass</structfield>;</term>
<listitem><simpara> the method to get pointer to HMAC-SHA224 transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformHmacSha256GetKlass</structfield>;</term>
<listitem><simpara> the method to get pointer to HMAC-SHA256 transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformHmacSha384GetKlass</structfield>;</term>
<listitem><simpara> the method to get pointer to HMAC-SHA384 transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformHmacSha512GetKlass</structfield>;</term>
<listitem><simpara> the method to get pointer to HMAC-SHA512 transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformMd5GetKlass</structfield>;</term>
<listitem><simpara>       the method to get pointer to MD5 digest transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformRipemd160GetKlass</structfield>;</term>
<listitem><simpara> the method to get pointer to RIPEMD160 digest transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformRsaMd5GetKlass</structfield>;</term>
<listitem><simpara>    the method to get pointer to RSA-MD5 signature transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformRsaRipemd160GetKlass</structfield>;</term>
<listitem><simpara> the method to get pointer to RSA-RIPEMD160 signature transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformRsaSha1GetKlass</structfield>;</term>
<listitem><simpara>   the method to get pointer to RSA-SHA1 signature transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformRsaSha224GetKlass</structfield>;</term>
<listitem><simpara> the method to get pointer to RSA-SHA224 signature transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformRsaSha256GetKlass</structfield>;</term>
<listitem><simpara> the method to get pointer to RSA-SHA256 signature transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformRsaSha384GetKlass</structfield>;</term>
<listitem><simpara> the method to get pointer to RSA-SHA384 signature transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformRsaSha512GetKlass</structfield>;</term>
<listitem><simpara> the method to get pointer to RSA-SHA512 signature transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformRsaPkcs1GetKlass</structfield>;</term>
<listitem><simpara>  the method to get pointer to RSA-PKCS1_5 key transport transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformRsaOaepGetKlass</structfield>;</term>
<listitem><simpara>   the method to get pointer to RSA-OAEP key transport transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformGostR3411_94GetKlass</structfield>;</term>
<listitem><simpara> the method to get pointer to GOST R3411 transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformSha1GetKlass</structfield>;</term>
<listitem><simpara>      the method to get pointer to SHA1 digest transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformSha224GetKlass</structfield>;</term>
<listitem><simpara>    the method to get pointer to SHA224 digest transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformSha256GetKlass</structfield>;</term>
<listitem><simpara>    the method to get pointer to SHA256 digest transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformSha384GetKlass</structfield>;</term>
<listitem><simpara>    the method to get pointer to SHA384 digest transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoTransformGetKlassMethod">xmlSecCryptoTransformGetKlassMethod</link>&#160;<structfield>transformSha512GetKlass</structfield>;</term>
<listitem><simpara>    the method to get pointer to SHA512 digest transform.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoAppInitMethod">xmlSecCryptoAppInitMethod</link>&#160;<structfield>cryptoAppInit</structfield>;</term>
<listitem><simpara>              the default crypto engine initialization method.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoAppShutdownMethod">xmlSecCryptoAppShutdownMethod</link>&#160;<structfield>cryptoAppShutdown</structfield>;</term>
<listitem><simpara>          the default crypto engine shutdown method.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoAppDefaultKeysMngrInitMethod">xmlSecCryptoAppDefaultKeysMngrInitMethod</link>&#160;<structfield>cryptoAppDefaultKeysMngrInit</structfield>;</term>
<listitem><simpara>       the default keys manager init method.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoAppDefaultKeysMngrAdoptKeyMethod">xmlSecCryptoAppDefaultKeysMngrAdoptKeyMethod</link>&#160;<structfield>cryptoAppDefaultKeysMngrAdoptKey</structfield>;</term>
<listitem><simpara>   the default keys manager adopt key method.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoAppDefaultKeysMngrLoadMethod">xmlSecCryptoAppDefaultKeysMngrLoadMethod</link>&#160;<structfield>cryptoAppDefaultKeysMngrLoad</structfield>;</term>
<listitem><simpara>       the default keys manager load method.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoAppDefaultKeysMngrSaveMethod">xmlSecCryptoAppDefaultKeysMngrSaveMethod</link>&#160;<structfield>cryptoAppDefaultKeysMngrSave</structfield>;</term>
<listitem><simpara>       the default keys manager save method.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoAppKeysMngrCertLoadMethod">xmlSecCryptoAppKeysMngrCertLoadMethod</link>&#160;<structfield>cryptoAppKeysMngrCertLoad</structfield>;</term>
<listitem><simpara>          the default keys manager file cert load method.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoAppKeysMngrCertLoadMemoryMethod">xmlSecCryptoAppKeysMngrCertLoadMemoryMethod</link>&#160;<structfield>cryptoAppKeysMngrCertLoadMemory</structfield>;</term>
<listitem><simpara>    the default keys manager memory cert load method.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoAppKeyLoadMethod">xmlSecCryptoAppKeyLoadMethod</link>&#160;<structfield>cryptoAppKeyLoad</structfield>;</term>
<listitem><simpara>           the key file load method.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoAppKeyLoadMemoryMethod">xmlSecCryptoAppKeyLoadMemoryMethod</link>&#160;<structfield>cryptoAppKeyLoadMemory</structfield>;</term>
<listitem><simpara>     the meory key load method.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoAppPkcs12LoadMethod">xmlSecCryptoAppPkcs12LoadMethod</link>&#160;<structfield>cryptoAppPkcs12Load</structfield>;</term>
<listitem><simpara>        the pkcs12 file load method.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoAppPkcs12LoadMemoryMethod">xmlSecCryptoAppPkcs12LoadMemoryMethod</link>&#160;<structfield>cryptoAppPkcs12LoadMemory</structfield>;</term>
<listitem><simpara>  the memory pkcs12 load method.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoAppKeyCertLoadMethod">xmlSecCryptoAppKeyCertLoadMethod</link>&#160;<structfield>cryptoAppKeyCertLoad</structfield>;</term>
<listitem><simpara>       the cert file load method.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecCryptoAppKeyCertLoadMemoryMethod">xmlSecCryptoAppKeyCertLoadMemoryMethod</link>&#160;<structfield>cryptoAppKeyCertLoadMemory</structfield>;</term>
<listitem><simpara> the memory cert load method.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="void">void</link>&#160;*<structfield>cryptoAppDefaultPwdCallback</structfield>;</term>
<listitem><simpara>the default password callback.
</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecStrPrintf" role="macro">
<title>xmlSecStrPrintf</title>
<indexterm zone="xmlSecStrPrintf"><primary sortas="xmlSecStrPrintf">xmlSecStrPrintf</primary></indexterm><programlisting>#define xmlSecStrPrintf         xmlStrPrintf
</programlisting>
<para>
Prints a string (see <parameter>xmlStrPrintf</parameter>).</para>
<para>
</para></refsect2>
<refsect2 id="xmlSecStrVPrintf" role="macro">
<title>xmlSecStrVPrintf</title>
<indexterm zone="xmlSecStrVPrintf"><primary sortas="xmlSecStrVPrintf">xmlSecStrVPrintf</primary></indexterm><programlisting>#define xmlSecStrVPrintf        xmlStrVPrintf
</programlisting>
<para>
Prints a string (see <parameter>xmlStrVPrintf</parameter>).</para>
<para>
</para></refsect2>

</refsect1>




</refentry>
