X509_verify_cert.pod 1.8 KB
Newer Older
1 2 3 4
=pod

=head1 NAME

5
X509_verify_cert - discover and verify X509 certificate chain
6 7 8 9 10 11 12 13 14 15

=head1 SYNOPSIS

 #include <openssl/x509.h>

 int X509_verify_cert(X509_STORE_CTX *ctx);

=head1 DESCRIPTION

The X509_verify_cert() function attempts to discover and validate a
D
Dr. Stephen Henson 已提交
16
certificate chain based on parameters in B<ctx>. A complete description of
R
Rich Salz 已提交
17
the process is contained in the L<verify(1)> manual page.
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

=head1 RETURN VALUES

If a complete chain can be built and validated this function returns 1,
otherwise it return zero, in exceptional circumstances it can also
return a negative code.

If the function fails additional error information can be obtained by
examining B<ctx> using, for example X509_STORE_CTX_get_error().

=head1 NOTES

Applications rarely call this function directly but it is used by
OpenSSL internally for certificate validation, in both the S/MIME and
SSL/TLS code.

34
A negative return value from X509_verify_cert() can occur if it is invoked
35
incorrectly, such as with no certificate set in B<ctx>, or when it is called
36 37 38 39 40
twice in succession without reinitialising B<ctx> for the second call.
A negative return value can also happen due to internal resource problems or if
a retry operation is requested during internal lookups (which never happens
with standard lookup methods).
Applications must check for <= 0 return value on error.
41 42 43 44

=head1 BUGS

This function uses the header B<x509.h> as opposed to most chain verification
A
Alex Gaynor 已提交
45
functions which use B<x509_vfy.h>.
46 47 48

=head1 SEE ALSO

R
Rich Salz 已提交
49
L<X509_STORE_CTX_get_error(3)>
50 51

=cut
R
Rich Salz 已提交
52 53 54 55 56 57 58 59 60 61 62

=head1 COPYRIGHT

Copyright 2009-2016 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the OpenSSL license (the "License").  You may not use
this file except in compliance with the License.  You can obtain a copy
in the file LICENSE in the source distribution or at
L<https://www.openssl.org/source/license.html>.

=cut