



@deftypefun {int} {gnutls_certificate_verify_peers2} (gnutls_session_t @var{session}, unsigned int * @var{status})
@var{session}: is a gnutls session

@var{status}: is the output of the verification

This function will verify the peer's certificate and store
the status in the  @code{status} variable as a bitwise or'd gnutls_certificate_status_t
values or zero if the certificate is trusted. Note that value in  @code{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).
The default verification flags used by this function can be overridden
using @code{gnutls_certificate_set_verify_flags()} .

This function will take into account the OCSP Certificate Status TLS extension,
as well as the following X.509 certificate extensions: Name Constraints,
Key Usage, and Basic Constraints (pathlen).

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

Note that you must also check the peer's name in order to check if
the verified certificate belongs to the actual peer, see @code{gnutls_x509_crt_check_hostname()} ,
or use @code{gnutls_certificate_verify_peers3()} .

@strong{Returns:} a negative error code on error and @code{GNUTLS_E_SUCCESS}  (0)
when the peer's certificate was successfully parsed, whether or not
it was verified.
@end deftypefun
