
#use wml::openssl-macros area=docs page=X509_STORE_set_verify_cb_func

<title>Documents, X509_STORE_set_verify_cb_func(3)</title>

<h1>X509_STORE_set_verify_cb_func(3)</h1>

#use wml::imp::generic

{:
## What's this? [[s|(<STRONG>[^<].+?)</A>(</STRONG><DD>)|$1$2|sg]]
[[s|<P>\s+<P>|<P>|sg]]
[[s|<P>\s+</|</|sg]]
[[s|<DD>\s*<DT>|<DD>&nbsp;<DT>|sg]]
[[s|<DD>\s*</DL>|<DD>&nbsp;</DL>|sg]]
[[s|\[|&#91;|sg]]
[[s|\]|&#93;|sg]]

<!-- INDEX BEGIN -->

<UL>

	<LI><A HREF="#NAME">NAME</A>
	<LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
	<LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
	<LI><A HREF="#NOTES">NOTES</A>
	<LI><A HREF="#BUGS">BUGS</A>
	<LI><A HREF="#RETURN_VALUES">RETURN VALUES</A>
	<LI><A HREF="#SEE_ALSO">SEE ALSO</A>
	<LI><A HREF="#HISTORY">HISTORY</A>
</UL>
<!-- INDEX END -->

<HR>
<P>
<HR>
<H1><A NAME="NAME">NAME</A></H1>
<P>
X509_STORE_set_verify_cb_func, X509_STORE_set_verify_cb - set verification
callback

</P>
<P>
<HR>
<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
<PRE> #include &lt;openssl/x509_vfy.h&gt;
</PRE>
<PRE> void X509_STORE_set_verify_cb(X509_STORE *st,
                                int (*verify_cb)(int ok, X509_STORE_CTX *ctx));
</PRE>
<PRE> void X509_STORE_set_verify_cb_func(X509_STORE *st,
                                int (*verify_cb)(int ok, X509_STORE_CTX *ctx));
</PRE>
<P>
<HR>
<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
<P>
<CODE>X509_STORE_set_verify_cb()</CODE> sets the verification callback of <STRONG>ctx</STRONG> to
<STRONG>verify_cb</STRONG> overwriting any existing callback.

</P>
<P>
<CODE>X509_STORE_set_verify_cb_func()</CODE> also sets the verification
callback but it is implemented as a macro.

</P>
<P>
<HR>
<H1><A NAME="NOTES">NOTES</A></H1>
<P>
The verification callback from an <STRONG>X509_STORE</STRONG> is inherited by the corresponding <STRONG>X509_STORE_CTX</STRONG> structure when it is initialized. This can be used to set the verification
callback when the <STRONG>X509_STORE_CTX</STRONG> is otherwise inaccessible (for example during S/MIME verification).

</P>
<P>
<HR>
<H1><A NAME="BUGS">BUGS</A></H1>
<P>
The macro version of this function was the only one available before
OpenSSL 1.0.0.

</P>
<P>
<HR>
<H1><A NAME="RETURN_VALUES">RETURN VALUES</A></H1>
<P>
<CODE>X509_STORE_set_verify_cb()</CODE> and
<CODE>X509_STORE_set_verify_cb_func()</CODE> do not return a value.

</P>
<P>
<HR>
<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
<P>
<A HREF="../crypto/X509_STORE_CTX_set_verify_cb.html#">X509_STORE_CTX_set_verify_cb(3)</A>

<A HREF="../crypto/CMS_verify.html#">CMS_verify(3)</A>



</P>
<P>
<HR>
<H1><A NAME="HISTORY">HISTORY</A></H1>
<P>
<CODE>X509_STORE_set_verify_cb_func()</CODE> is available in all versions
of SSLeay and OpenSSL.

</P>
<P>
<CODE>X509_STORE_set_verify_cb()</CODE> was added to OpenSSL 1.0.0.

</P>
:}


