diff options
Diffstat (limited to 'doc/functions/gnutls_certificate_verify_peers2')
-rw-r--r-- | doc/functions/gnutls_certificate_verify_peers2 | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/doc/functions/gnutls_certificate_verify_peers2 b/doc/functions/gnutls_certificate_verify_peers2 new file mode 100644 index 0000000..c6dd1d0 --- /dev/null +++ b/doc/functions/gnutls_certificate_verify_peers2 @@ -0,0 +1,35 @@ + + + + +@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 of 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 stapled OCSP responses sent by the server, +as well as the following X.509 certificate extensions: Name Constraints, +Key Usage, and Basic Constraints (pathlen). + +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()} . + +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 when using raw public-keys verification will not work because there is +no corresponding certificate body belonging to the raw key that can be verified. In that +case this function will return @code{GNUTLS_E_INVALID_REQUEST} . + +@strong{Returns:} @code{GNUTLS_E_SUCCESS} (0) when the validation is performed, or a negative error code otherwise. +A successful error code means that the @code{status} parameter must be checked to obtain the validation status. +@end deftypefun |