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

<refnamediv>
<refname>x509</refname>
<refpurpose>X509 certificates support implementation for GnuTLS.</refpurpose>
</refnamediv>

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

<synopsis>
#define             <link linkend="xmlSecGnuTLSKeyDataX509Id">xmlSecGnuTLSKeyDataX509Id</link>
<link linkend="xmlSecKeyDataId">xmlSecKeyDataId</link>     <link linkend="xmlSecGnuTLSKeyDataX509GetKlass">xmlSecGnuTLSKeyDataX509GetKlass</link>     (void);
<link linkend="gnutls-x509-crt-t">gnutls_x509_crt_t</link>   <link linkend="xmlSecGnuTLSKeyDataX509GetKeyCert">xmlSecGnuTLSKeyDataX509GetKeyCert</link>   (<link linkend="xmlSecKeyData">xmlSecKeyDataPtr</link> data);
<link linkend="int">int</link>                 <link linkend="xmlSecGnuTLSKeyDataX509AdoptKeyCert">xmlSecGnuTLSKeyDataX509AdoptKeyCert</link> (<link linkend="xmlSecKeyData">xmlSecKeyDataPtr</link> data,
                                                         <link linkend="gnutls-x509-crt-t">gnutls_x509_crt_t</link> cert);
<link linkend="int">int</link>                 <link linkend="xmlSecGnuTLSKeyDataX509AdoptCert">xmlSecGnuTLSKeyDataX509AdoptCert</link>    (<link linkend="xmlSecKeyData">xmlSecKeyDataPtr</link> data,
                                                         <link linkend="gnutls-x509-crt-t">gnutls_x509_crt_t</link> cert);
<link linkend="gnutls-x509-crt-t">gnutls_x509_crt_t</link>   <link linkend="xmlSecGnuTLSKeyDataX509GetCert">xmlSecGnuTLSKeyDataX509GetCert</link>      (<link linkend="xmlSecKeyData">xmlSecKeyDataPtr</link> data,
                                                         <link linkend="xmlSecSize">xmlSecSize</link> pos);
<link linkend="xmlSecSize">xmlSecSize</link>          <link linkend="xmlSecGnuTLSKeyDataX509GetCertsSize">xmlSecGnuTLSKeyDataX509GetCertsSize</link> (<link linkend="xmlSecKeyData">xmlSecKeyDataPtr</link> data);
<link linkend="int">int</link>                 <link linkend="xmlSecGnuTLSKeyDataX509AdoptCrl">xmlSecGnuTLSKeyDataX509AdoptCrl</link>     (<link linkend="xmlSecKeyData">xmlSecKeyDataPtr</link> data,
                                                         <link linkend="gnutls-x509-crl-t">gnutls_x509_crl_t</link> crl);
<link linkend="gnutls-x509-crl-t">gnutls_x509_crl_t</link>   <link linkend="xmlSecGnuTLSKeyDataX509GetCrl">xmlSecGnuTLSKeyDataX509GetCrl</link>       (<link linkend="xmlSecKeyData">xmlSecKeyDataPtr</link> data,
                                                         <link linkend="xmlSecSize">xmlSecSize</link> pos);
<link linkend="xmlSecSize">xmlSecSize</link>          <link linkend="xmlSecGnuTLSKeyDataX509GetCrlsSize">xmlSecGnuTLSKeyDataX509GetCrlsSize</link>  (<link linkend="xmlSecKeyData">xmlSecKeyDataPtr</link> data);
<link linkend="xmlSecKeyData">xmlSecKeyDataPtr</link>    <link linkend="xmlSecGnuTLSX509CertGetKey">xmlSecGnuTLSX509CertGetKey</link>          (<link linkend="gnutls-x509-crt-t">gnutls_x509_crt_t</link> cert);
#define             <link linkend="xmlSecGnuTLSKeyDataRawX509CertId">xmlSecGnuTLSKeyDataRawX509CertId</link>
<link linkend="xmlSecKeyDataId">xmlSecKeyDataId</link>     <link linkend="xmlSecGnuTLSKeyDataRawX509CertGetKlass">xmlSecGnuTLSKeyDataRawX509CertGetKlass</link>
                                                        (void);
#define             <link linkend="xmlSecGnuTLSX509StoreId">xmlSecGnuTLSX509StoreId</link>
<link linkend="xmlSecKeyDataStoreId">xmlSecKeyDataStoreId</link>  <link linkend="xmlSecGnuTLSX509StoreGetKlass">xmlSecGnuTLSX509StoreGetKlass</link>     (void);
<link linkend="gnutls-x509-crt-t">gnutls_x509_crt_t</link>   <link linkend="xmlSecGnuTLSX509StoreFindCert">xmlSecGnuTLSX509StoreFindCert</link>       (const <link linkend="xmlSecKeyDataStore">xmlSecKeyDataStorePtr</link> store,
                                                         const <link linkend="xmlChar">xmlChar</link> *subjectName,
                                                         const <link linkend="xmlChar">xmlChar</link> *issuerName,
                                                         const <link linkend="xmlChar">xmlChar</link> *issuerSerial,
                                                         const <link linkend="xmlChar">xmlChar</link> *ski,
                                                         const <link linkend="xmlSecKeyInfoCtx">xmlSecKeyInfoCtx</link> *keyInfoCtx);
<link linkend="gnutls-x509-crt-t">gnutls_x509_crt_t</link>   <link linkend="xmlSecGnuTLSX509StoreVerify">xmlSecGnuTLSX509StoreVerify</link>         (<link linkend="xmlSecKeyDataStore">xmlSecKeyDataStorePtr</link> store,
                                                         <link linkend="xmlSecPtrList">xmlSecPtrListPtr</link> certs,
                                                         <link linkend="xmlSecPtrList">xmlSecPtrListPtr</link> crls,
                                                         const <link linkend="xmlSecKeyInfoCtx">xmlSecKeyInfoCtx</link> *keyInfoCtx);
<link linkend="int">int</link>                 <link linkend="xmlSecGnuTLSX509StoreAdoptCert">xmlSecGnuTLSX509StoreAdoptCert</link>      (<link linkend="xmlSecKeyDataStore">xmlSecKeyDataStorePtr</link> store,
                                                         <link linkend="gnutls-x509-crt-t">gnutls_x509_crt_t</link> cert,
                                                         <link linkend="xmlSecKeyDataType">xmlSecKeyDataType</link> type);
</synopsis>
</refsynopsisdiv>









<refsect1 id="xmlsec-gnutls-x509.description" role="desc">
<title role="desc.title">Description</title>
<para>
X509 certificates support implementation for GnuTLS.
</para>
</refsect1>

<refsect1 id="xmlsec-gnutls-x509.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="xmlSecGnuTLSKeyDataX509Id" role="macro">
<title>xmlSecGnuTLSKeyDataX509Id</title>
<indexterm zone="xmlSecGnuTLSKeyDataX509Id"><primary sortas="xmlSecGnuTLSKeyDataX509Id">xmlSecGnuTLSKeyDataX509Id</primary></indexterm><programlisting>#define             xmlSecGnuTLSKeyDataX509Id</programlisting>
<para>
The GnuTLS X509 data klass.</para>
<para>
</para></refsect2>
<refsect2 id="xmlSecGnuTLSKeyDataX509GetKlass" role="function">
<title>xmlSecGnuTLSKeyDataX509GetKlass ()</title>
<indexterm zone="xmlSecGnuTLSKeyDataX509GetKlass"><primary sortas="xmlSecGnuTLSKeyDataX509GetKlass">xmlSecGnuTLSKeyDataX509GetKlass</primary></indexterm><programlisting><link linkend="xmlSecKeyDataId">xmlSecKeyDataId</link>     xmlSecGnuTLSKeyDataX509GetKlass     (void);</programlisting>
<para>
The GnuTLS X509 key data klass (http://www.w3.org/TR/xmldsig-core/<link linkend="sec-X509Data"><type>sec-X509Data</type></link>).</para>
<para>
</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the X509 data klass.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecGnuTLSKeyDataX509GetKeyCert" role="function">
<title>xmlSecGnuTLSKeyDataX509GetKeyCert ()</title>
<indexterm zone="xmlSecGnuTLSKeyDataX509GetKeyCert"><primary sortas="xmlSecGnuTLSKeyDataX509GetKeyCert">xmlSecGnuTLSKeyDataX509GetKeyCert</primary></indexterm><programlisting><link linkend="gnutls-x509-crt-t">gnutls_x509_crt_t</link>   xmlSecGnuTLSKeyDataX509GetKeyCert   (<link linkend="xmlSecKeyData">xmlSecKeyDataPtr</link> data);</programlisting>
<para>
Gets the certificate from which the key was extracted.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>data</parameter>&#160;:</term>
<listitem><simpara>               the pointer to X509 key data.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the key's certificate or NULL if key data was not used for key
extraction or an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecGnuTLSKeyDataX509AdoptKeyCert" role="function">
<title>xmlSecGnuTLSKeyDataX509AdoptKeyCert ()</title>
<indexterm zone="xmlSecGnuTLSKeyDataX509AdoptKeyCert"><primary sortas="xmlSecGnuTLSKeyDataX509AdoptKeyCert">xmlSecGnuTLSKeyDataX509AdoptKeyCert</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecGnuTLSKeyDataX509AdoptKeyCert (<link linkend="xmlSecKeyData">xmlSecKeyDataPtr</link> data,
                                                         <link linkend="gnutls-x509-crt-t">gnutls_x509_crt_t</link> cert);</programlisting>
<para>
Sets the key's certificate in <parameter>data</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>data</parameter>&#160;:</term>
<listitem><simpara>               the pointer to X509 key data.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>cert</parameter>&#160;:</term>
<listitem><simpara>               the pointer to GnuTLS X509 certificate.
</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="xmlSecGnuTLSKeyDataX509AdoptCert" role="function">
<title>xmlSecGnuTLSKeyDataX509AdoptCert ()</title>
<indexterm zone="xmlSecGnuTLSKeyDataX509AdoptCert"><primary sortas="xmlSecGnuTLSKeyDataX509AdoptCert">xmlSecGnuTLSKeyDataX509AdoptCert</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecGnuTLSKeyDataX509AdoptCert    (<link linkend="xmlSecKeyData">xmlSecKeyDataPtr</link> data,
                                                         <link linkend="gnutls-x509-crt-t">gnutls_x509_crt_t</link> cert);</programlisting>
<para>
Adds certificate to the X509 key data.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>data</parameter>&#160;:</term>
<listitem><simpara>               the pointer to X509 key data.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>cert</parameter>&#160;:</term>
<listitem><simpara>               the pointer to GnuTLS X509 certificate.
</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="xmlSecGnuTLSKeyDataX509GetCert" role="function">
<title>xmlSecGnuTLSKeyDataX509GetCert ()</title>
<indexterm zone="xmlSecGnuTLSKeyDataX509GetCert"><primary sortas="xmlSecGnuTLSKeyDataX509GetCert">xmlSecGnuTLSKeyDataX509GetCert</primary></indexterm><programlisting><link linkend="gnutls-x509-crt-t">gnutls_x509_crt_t</link>   xmlSecGnuTLSKeyDataX509GetCert      (<link linkend="xmlSecKeyData">xmlSecKeyDataPtr</link> data,
                                                         <link linkend="xmlSecSize">xmlSecSize</link> pos);</programlisting>
<para>
Gets a certificate from X509 key data.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>data</parameter>&#160;:</term>
<listitem><simpara>               the pointer to X509 key data.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pos</parameter>&#160;:</term>
<listitem><simpara>                the desired certificate position.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the pointer to certificate or NULL if <parameter>pos</parameter> is larger than the
number of certificates in <parameter>data</parameter> or an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecGnuTLSKeyDataX509GetCertsSize" role="function">
<title>xmlSecGnuTLSKeyDataX509GetCertsSize ()</title>
<indexterm zone="xmlSecGnuTLSKeyDataX509GetCertsSize"><primary sortas="xmlSecGnuTLSKeyDataX509GetCertsSize">xmlSecGnuTLSKeyDataX509GetCertsSize</primary></indexterm><programlisting><link linkend="xmlSecSize">xmlSecSize</link>          xmlSecGnuTLSKeyDataX509GetCertsSize (<link linkend="xmlSecKeyData">xmlSecKeyDataPtr</link> data);</programlisting>
<para>
Gets the number of certificates in <parameter>data</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>data</parameter>&#160;:</term>
<listitem><simpara>               the pointer to X509 key data.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> te number of certificates in <parameter>data</parameter>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecGnuTLSKeyDataX509AdoptCrl" role="function">
<title>xmlSecGnuTLSKeyDataX509AdoptCrl ()</title>
<indexterm zone="xmlSecGnuTLSKeyDataX509AdoptCrl"><primary sortas="xmlSecGnuTLSKeyDataX509AdoptCrl">xmlSecGnuTLSKeyDataX509AdoptCrl</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecGnuTLSKeyDataX509AdoptCrl     (<link linkend="xmlSecKeyData">xmlSecKeyDataPtr</link> data,
                                                         <link linkend="gnutls-x509-crl-t">gnutls_x509_crl_t</link> crl);</programlisting>
<para>
Adds crl to the X509 key data.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>data</parameter>&#160;:</term>
<listitem><simpara>               the pointer to X509 key data.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>crl</parameter>&#160;:</term>
<listitem><simpara>                the pointer to GnuTLS X509 crl.
</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="xmlSecGnuTLSKeyDataX509GetCrl" role="function">
<title>xmlSecGnuTLSKeyDataX509GetCrl ()</title>
<indexterm zone="xmlSecGnuTLSKeyDataX509GetCrl"><primary sortas="xmlSecGnuTLSKeyDataX509GetCrl">xmlSecGnuTLSKeyDataX509GetCrl</primary></indexterm><programlisting><link linkend="gnutls-x509-crl-t">gnutls_x509_crl_t</link>   xmlSecGnuTLSKeyDataX509GetCrl       (<link linkend="xmlSecKeyData">xmlSecKeyDataPtr</link> data,
                                                         <link linkend="xmlSecSize">xmlSecSize</link> pos);</programlisting>
<para>
Gets a crl from X509 key data.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>data</parameter>&#160;:</term>
<listitem><simpara>               the pointer to X509 key data.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pos</parameter>&#160;:</term>
<listitem><simpara>                the desired crl position.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the pointer to crl or NULL if <parameter>pos</parameter> is larger than the
number of crls in <parameter>data</parameter> or an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecGnuTLSKeyDataX509GetCrlsSize" role="function">
<title>xmlSecGnuTLSKeyDataX509GetCrlsSize ()</title>
<indexterm zone="xmlSecGnuTLSKeyDataX509GetCrlsSize"><primary sortas="xmlSecGnuTLSKeyDataX509GetCrlsSize">xmlSecGnuTLSKeyDataX509GetCrlsSize</primary></indexterm><programlisting><link linkend="xmlSecSize">xmlSecSize</link>          xmlSecGnuTLSKeyDataX509GetCrlsSize  (<link linkend="xmlSecKeyData">xmlSecKeyDataPtr</link> data);</programlisting>
<para>
Gets the number of crls in <parameter>data</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>data</parameter>&#160;:</term>
<listitem><simpara>               the pointer to X509 key data.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> te number of crls in <parameter>data</parameter>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecGnuTLSX509CertGetKey" role="function">
<title>xmlSecGnuTLSX509CertGetKey ()</title>
<indexterm zone="xmlSecGnuTLSX509CertGetKey"><primary sortas="xmlSecGnuTLSX509CertGetKey">xmlSecGnuTLSX509CertGetKey</primary></indexterm><programlisting><link linkend="xmlSecKeyData">xmlSecKeyDataPtr</link>    xmlSecGnuTLSX509CertGetKey          (<link linkend="gnutls-x509-crt-t">gnutls_x509_crt_t</link> cert);</programlisting>
<para>
Extracts public key from the <parameter>cert</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>cert</parameter>&#160;:</term>
<listitem><simpara>               the certificate.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> public key value or NULL if an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecGnuTLSKeyDataRawX509CertId" role="macro">
<title>xmlSecGnuTLSKeyDataRawX509CertId</title>
<indexterm zone="xmlSecGnuTLSKeyDataRawX509CertId"><primary sortas="xmlSecGnuTLSKeyDataRawX509CertId">xmlSecGnuTLSKeyDataRawX509CertId</primary></indexterm><programlisting>#define             xmlSecGnuTLSKeyDataRawX509CertId</programlisting>
<para>
The GnuTLS raw X509 certificate klass.</para>
<para>
</para></refsect2>
<refsect2 id="xmlSecGnuTLSKeyDataRawX509CertGetKlass" role="function">
<title>xmlSecGnuTLSKeyDataRawX509CertGetKlass ()</title>
<indexterm zone="xmlSecGnuTLSKeyDataRawX509CertGetKlass"><primary sortas="xmlSecGnuTLSKeyDataRawX509CertGetKlass">xmlSecGnuTLSKeyDataRawX509CertGetKlass</primary></indexterm><programlisting><link linkend="xmlSecKeyDataId">xmlSecKeyDataId</link>     xmlSecGnuTLSKeyDataRawX509CertGetKlass
                                                        (void);</programlisting>
<para>
The raw X509 certificates key data klass.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> raw X509 certificates key data klass.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecGnuTLSX509StoreId" role="macro">
<title>xmlSecGnuTLSX509StoreId</title>
<indexterm zone="xmlSecGnuTLSX509StoreId"><primary sortas="xmlSecGnuTLSX509StoreId">xmlSecGnuTLSX509StoreId</primary></indexterm><programlisting>#define             xmlSecGnuTLSX509StoreId</programlisting>
<para>
The GnuTLS X509 store klass.</para>
<para>
</para></refsect2>
<refsect2 id="xmlSecGnuTLSX509StoreGetKlass" role="function">
<title>xmlSecGnuTLSX509StoreGetKlass ()</title>
<indexterm zone="xmlSecGnuTLSX509StoreGetKlass"><primary sortas="xmlSecGnuTLSX509StoreGetKlass">xmlSecGnuTLSX509StoreGetKlass</primary></indexterm><programlisting><link linkend="xmlSecKeyDataStoreId">xmlSecKeyDataStoreId</link>  xmlSecGnuTLSX509StoreGetKlass     (void);</programlisting>
<para>
The GnuTLS X509 certificates key data store klass.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> pointer to GnuTLS X509 certificates key data store klass.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecGnuTLSX509StoreFindCert" role="function">
<title>xmlSecGnuTLSX509StoreFindCert ()</title>
<indexterm zone="xmlSecGnuTLSX509StoreFindCert"><primary sortas="xmlSecGnuTLSX509StoreFindCert">xmlSecGnuTLSX509StoreFindCert</primary></indexterm><programlisting><link linkend="gnutls-x509-crt-t">gnutls_x509_crt_t</link>   xmlSecGnuTLSX509StoreFindCert       (const <link linkend="xmlSecKeyDataStore">xmlSecKeyDataStorePtr</link> store,
                                                         const <link linkend="xmlChar">xmlChar</link> *subjectName,
                                                         const <link linkend="xmlChar">xmlChar</link> *issuerName,
                                                         const <link linkend="xmlChar">xmlChar</link> *issuerSerial,
                                                         const <link linkend="xmlChar">xmlChar</link> *ski,
                                                         const <link linkend="xmlSecKeyInfoCtx">xmlSecKeyInfoCtx</link> *keyInfoCtx);</programlisting>
<para>
Searches <parameter>store</parameter> for a certificate that matches given criteria.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>store</parameter>&#160;:</term>
<listitem><simpara>              the pointer to X509 key data store klass.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>subjectName</parameter>&#160;:</term>
<listitem><simpara>        the desired certificate name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>issuerName</parameter>&#160;:</term>
<listitem><simpara>         the desired certificate issuer name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>issuerSerial</parameter>&#160;:</term>
<listitem><simpara>       the desired certificate issuer serial number.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ski</parameter>&#160;:</term>
<listitem><simpara>                the desired certificate SKI.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>keyInfoCtx</parameter>&#160;:</term>
<listitem><simpara>         the pointer to <ulink URL="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo">&lt;dsig:KeyInfo/&gt;</ulink> element processing context.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> pointer to found certificate or NULL if certificate is not found
or an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecGnuTLSX509StoreVerify" role="function">
<title>xmlSecGnuTLSX509StoreVerify ()</title>
<indexterm zone="xmlSecGnuTLSX509StoreVerify"><primary sortas="xmlSecGnuTLSX509StoreVerify">xmlSecGnuTLSX509StoreVerify</primary></indexterm><programlisting><link linkend="gnutls-x509-crt-t">gnutls_x509_crt_t</link>   xmlSecGnuTLSX509StoreVerify         (<link linkend="xmlSecKeyDataStore">xmlSecKeyDataStorePtr</link> store,
                                                         <link linkend="xmlSecPtrList">xmlSecPtrListPtr</link> certs,
                                                         <link linkend="xmlSecPtrList">xmlSecPtrListPtr</link> crls,
                                                         const <link linkend="xmlSecKeyInfoCtx">xmlSecKeyInfoCtx</link> *keyInfoCtx);</programlisting>
<para>
Verifies <parameter>certs</parameter> list.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>store</parameter>&#160;:</term>
<listitem><simpara>              the pointer to X509 key data store klass.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>certs</parameter>&#160;:</term>
<listitem><simpara>              the untrusted certificates.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>crls</parameter>&#160;:</term>
<listitem><simpara>               the crls.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>keyInfoCtx</parameter>&#160;:</term>
<listitem><simpara>         the pointer to <ulink URL="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo">&lt;dsig:KeyInfo/&gt;</ulink> element processing context.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> pointer to the first verified certificate from <parameter>certs</parameter>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecGnuTLSX509StoreAdoptCert" role="function">
<title>xmlSecGnuTLSX509StoreAdoptCert ()</title>
<indexterm zone="xmlSecGnuTLSX509StoreAdoptCert"><primary sortas="xmlSecGnuTLSX509StoreAdoptCert">xmlSecGnuTLSX509StoreAdoptCert</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecGnuTLSX509StoreAdoptCert      (<link linkend="xmlSecKeyDataStore">xmlSecKeyDataStorePtr</link> store,
                                                         <link linkend="gnutls-x509-crt-t">gnutls_x509_crt_t</link> cert,
                                                         <link linkend="xmlSecKeyDataType">xmlSecKeyDataType</link> type);</programlisting>
<para>
Adds trusted (root) or untrusted certificate to the store.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>store</parameter>&#160;:</term>
<listitem><simpara>              the pointer to X509 key data store klass.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>cert</parameter>&#160;:</term>
<listitem><simpara>               the pointer to GnuTLS X509 certificate.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>type</parameter>&#160;:</term>
<listitem><simpara>               the certificate type (trusted/untrusted).
</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>
