]> git.ipfire.org Git - thirdparty/openssl.git/blame - doc/man3/X509_verify.pod
x509_acert: Add API to sign and verify attribute certificates
[thirdparty/openssl.git] / doc / man3 / X509_verify.pod
CommitLineData
4cec750c
DDO
1=pod
2
3=head1 NAME
4
6725682d 5X509_verify, X509_self_signed,
d8652be0 6X509_REQ_verify_ex, X509_REQ_verify,
b97fb22f 7X509_CRL_verify, X509_ACERT_verify -
4cec750c
DDO
8verify certificate, certificate request, or CRL signature
9
10=head1 SYNOPSIS
11
12 #include <openssl/x509.h>
13
4cec750c 14 int X509_verify(X509 *x, EVP_PKEY *pkey);
0d8dbb52 15 int X509_self_signed(X509 *cert, int verify_signature);
4cec750c 16
b4250010 17 int X509_REQ_verify_ex(X509_REQ *a, EVP_PKEY *pkey, OSSL_LIB_CTX *libctx,
d8652be0 18 const char *propq);
4cec750c
DDO
19 int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r);
20 int X509_CRL_verify(X509_CRL *a, EVP_PKEY *r);
21
b97fb22f
DHG
22 #include <openssl/x509_acert.h>
23 int X509_ACERT_verify(X509_CRL *a, EVP_PKEY *r);
24
4cec750c
DDO
25=head1 DESCRIPTION
26
6725682d
SL
27X509_verify() verifies the signature of certificate I<x> using public key
28I<pkey>. Only the signature is checked: no other checks (such as certificate
29chain validity) are performed.
4cec750c 30
54c0480d 31X509_self_signed() checks whether certificate I<cert> is self-signed.
0d8dbb52
DDO
32For success the issuer and subject names must match, the components of the
33authority key identifier (if present) must match the subject key identifier etc.
34The signature itself is actually verified only if B<verify_signature> is 1, as
35for explicitly trusted certificates this verification is not worth the effort.
36
b97fb22f
DHG
37X509_REQ_verify_ex(), X509_REQ_verify(), X509_CRL_verify() and X509_ACERT_verify()
38verify the signatures of certificate requests, CRLs and attribute certificates
39respectively.
4cec750c
DDO
40
41=head1 RETURN VALUES
42
6725682d 43X509_verify(),
d8652be0 44X509_REQ_verify_ex(), X509_REQ_verify() and X509_CRL_verify()
4cec750c 45return 1 if the signature is valid and 0 if the signature check fails.
54c0480d
TM
46If the signature could not be checked at all because it was ill-formed,
47the certificate or the request was not complete or some other error occurred
48then -1 is returned.
4cec750c 49
0d8dbb52
DDO
50X509_self_signed() returns the same values but also returns 1
51if all respective fields match and B<verify_signature> is 0.
52
4cec750c
DDO
53=head1 SEE ALSO
54
55L<d2i_X509(3)>,
56L<ERR_get_error(3)>,
57L<X509_CRL_get0_by_serial(3)>,
58L<X509_get0_signature(3)>,
59L<X509_get_ext_d2i(3)>,
60L<X509_get_extension_flags(3)>,
61L<X509_get_pubkey(3)>,
62L<X509_get_subject_name(3)>,
63L<X509_get_version(3)>,
64L<X509_NAME_ENTRY_get_object(3)>,
65L<X509_NAME_get_index_by_NID(3)>,
66L<X509_NAME_print_ex(3)>,
67L<X509V3_get_d2i(3)>,
68L<X509_verify_cert(3)>,
b4250010 69L<OSSL_LIB_CTX(3)>
4cec750c
DDO
70
71=head1 HISTORY
72
73The X509_verify(), X509_REQ_verify(), and X509_CRL_verify()
74functions are available in all versions of OpenSSL.
75
d8652be0 76X509_REQ_verify_ex(), and X509_self_signed() were added in OpenSSL 3.0.
4cec750c 77
b97fb22f
DHG
78X509_ACERT_verify() was added in OpenSSL 3.4.
79
4cec750c
DDO
80=head1 COPYRIGHT
81
3c95ef22 82Copyright 2015-2023 The OpenSSL Project Authors. All Rights Reserved.
4cec750c
DDO
83
84Licensed under the Apache License 2.0 (the "License"). You may not use
85this file except in compliance with the License. You can obtain a copy
86in the file LICENSE in the source distribution or at
87L<https://www.openssl.org/source/license.html>.
88
89=cut