gnutls_certificate_verify_peers3 — API function


#include <gnutls/gnutls.h>
int gnutls_certificate_verify_peers3( gnutls_session_t session,
  const char * hostname,
  unsigned int * status);


gnutls_session_t session

is a gnutls session

const char * hostname

is the expected name of the peer; may be NULL

unsigned int * status

is the output of the verification


This function will verify the peer's certificate and store the status in the status variable as a bitwise or'd gnutls_certificate_status_t values or zero if the certificate is trusted. Note that value in status is set only when the return value of this function is success (i.e, failure to trust a certificate does not imply a negative return value).

If the hostname provided is non−NULL then this function will compare the hostname in the certificate against the given. If they do not match the GNUTLS_CERT_UNEXPECTED_OWNER status flag will be set.

If available the OCSP Certificate Status extension will be utilized by this function.

To avoid denial of service attacks some default upper limits regarding the certificate key size and chain size are set. To override them use gnutls_certificate_set_verify_limits().


a negative error code on error and GNUTLS_E_SUCCESS (0) on success.




Report bugs to <>.

General guidelines for reporting bugs:

GnuTLS home page:


The full documentation for gnutls is maintained as a Texinfo manual. If the info and gnutls programs are properly installed at your site, the command

info gnutls

should give you access to the complete manual. As an alternative you may obtain the manual from:


Copyright © 2001-2013 Free Software Foundation, Inc..

Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.