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

<refnamediv>
<refname>keysstore</refname>
<refpurpose>Keys store implementation for MS Crypto.</refpurpose>
</refnamediv>

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

<synopsis>
#define             <link linkend="xmlSecMSCryptoKeysStoreId">xmlSecMSCryptoKeysStoreId</link>
<link linkend="xmlSecKeyStoreId">xmlSecKeyStoreId</link>    <link linkend="xmlSecMSCryptoKeysStoreGetKlass">xmlSecMSCryptoKeysStoreGetKlass</link>     (void);
<link linkend="int">int</link>                 <link linkend="xmlSecMSCryptoKeysStoreAdoptKey">xmlSecMSCryptoKeysStoreAdoptKey</link>     (<link linkend="xmlSecKeyStore">xmlSecKeyStorePtr</link> store,
                                                         <link linkend="xmlSecKey">xmlSecKeyPtr</link> key);
<link linkend="int">int</link>                 <link linkend="xmlSecMSCryptoKeysStoreLoad">xmlSecMSCryptoKeysStoreLoad</link>         (<link linkend="xmlSecKeyStore">xmlSecKeyStorePtr</link> store,
                                                         const <link linkend="char">char</link> *uri,
                                                         <link linkend="xmlSecKeysMngr">xmlSecKeysMngrPtr</link> keysMngr);
<link linkend="int">int</link>                 <link linkend="xmlSecMSCryptoKeysStoreSave">xmlSecMSCryptoKeysStoreSave</link>         (<link linkend="xmlSecKeyStore">xmlSecKeyStorePtr</link> store,
                                                         const <link linkend="char">char</link> *filename,
                                                         <link linkend="xmlSecKeyDataType">xmlSecKeyDataType</link> type);
</synopsis>
</refsynopsisdiv>









<refsect1 id="xmlsec-mscrypto-keysstore.description" role="desc">
<title role="desc.title">Description</title>
<para>
Keys store implementation for MS Crypto.
</para>
</refsect1>

<refsect1 id="xmlsec-mscrypto-keysstore.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="xmlSecMSCryptoKeysStoreId" role="macro">
<title>xmlSecMSCryptoKeysStoreId</title>
<indexterm zone="xmlSecMSCryptoKeysStoreId"><primary sortas="xmlSecMSCryptoKeysStoreId">xmlSecMSCryptoKeysStoreId</primary></indexterm><programlisting>#define xmlSecMSCryptoKeysStoreId       xmlSecMSCryptoKeysStoreGetKlass()
</programlisting>
<para>
A MSCrypto keys store klass id.</para>
<para>
</para></refsect2>
<refsect2 id="xmlSecMSCryptoKeysStoreGetKlass" role="function">
<title>xmlSecMSCryptoKeysStoreGetKlass ()</title>
<indexterm zone="xmlSecMSCryptoKeysStoreGetKlass"><primary sortas="xmlSecMSCryptoKeysStoreGetKlass">xmlSecMSCryptoKeysStoreGetKlass</primary></indexterm><programlisting><link linkend="xmlSecKeyStoreId">xmlSecKeyStoreId</link>    xmlSecMSCryptoKeysStoreGetKlass     (void);</programlisting>
<para>
The MSCrypto list based keys store klass.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> MSCrypto list based keys store klass.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecMSCryptoKeysStoreAdoptKey" role="function">
<title>xmlSecMSCryptoKeysStoreAdoptKey ()</title>
<indexterm zone="xmlSecMSCryptoKeysStoreAdoptKey"><primary sortas="xmlSecMSCryptoKeysStoreAdoptKey">xmlSecMSCryptoKeysStoreAdoptKey</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecMSCryptoKeysStoreAdoptKey     (<link linkend="xmlSecKeyStore">xmlSecKeyStorePtr</link> store,
                                                         <link linkend="xmlSecKey">xmlSecKeyPtr</link> key);</programlisting>
<para>
Adds <parameter>key</parameter> to the <parameter>store</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>store</parameter>&#160;:</term>
<listitem><simpara>              the pointer to MSCrypto keys store.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>key</parameter>&#160;:</term>
<listitem><simpara>                the pointer to key.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value if an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecMSCryptoKeysStoreLoad" role="function">
<title>xmlSecMSCryptoKeysStoreLoad ()</title>
<indexterm zone="xmlSecMSCryptoKeysStoreLoad"><primary sortas="xmlSecMSCryptoKeysStoreLoad">xmlSecMSCryptoKeysStoreLoad</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecMSCryptoKeysStoreLoad         (<link linkend="xmlSecKeyStore">xmlSecKeyStorePtr</link> store,
                                                         const <link linkend="char">char</link> *uri,
                                                         <link linkend="xmlSecKeysMngr">xmlSecKeysMngrPtr</link> keysMngr);</programlisting>
<para>
Reads keys from an XML file.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>store</parameter>&#160;:</term>
<listitem><simpara>              the pointer to MSCrypto keys store.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>uri</parameter>&#160;:</term>
<listitem><simpara>                the filename.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>keysMngr</parameter>&#160;:</term>
<listitem><simpara>           the pointer to associated keys manager.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value if an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecMSCryptoKeysStoreSave" role="function">
<title>xmlSecMSCryptoKeysStoreSave ()</title>
<indexterm zone="xmlSecMSCryptoKeysStoreSave"><primary sortas="xmlSecMSCryptoKeysStoreSave">xmlSecMSCryptoKeysStoreSave</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecMSCryptoKeysStoreSave         (<link linkend="xmlSecKeyStore">xmlSecKeyStorePtr</link> store,
                                                         const <link linkend="char">char</link> *filename,
                                                         <link linkend="xmlSecKeyDataType">xmlSecKeyDataType</link> type);</programlisting>
<para>
Writes keys from <parameter>store</parameter> to an XML file.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>store</parameter>&#160;:</term>
<listitem><simpara>              the pointer to MSCrypto keys store.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>filename</parameter>&#160;:</term>
<listitem><simpara>           the filename.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>type</parameter>&#160;:</term>
<listitem><simpara>               the saved keys type (public, private, ...).
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value if an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>




</refentry>
