2015-08-28 00:28:08 +08:00
|
|
|
=pod
|
|
|
|
|
|
|
|
=head1 NAME
|
|
|
|
|
2019-12-24 18:25:15 +08:00
|
|
|
X509_check_issued - checks if certificate is apparently issued by another
|
2015-08-28 00:28:08 +08:00
|
|
|
certificate
|
|
|
|
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
|
|
|
|
#include <openssl/x509v3.h>
|
|
|
|
|
|
|
|
int X509_check_issued(X509 *issuer, X509 *subject);
|
|
|
|
|
|
|
|
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
|
2019-12-24 18:25:15 +08:00
|
|
|
X509_check_issued() checks if certificate I<subject> was apparently issued
|
|
|
|
using (CA) certificate I<issuer>. This function takes into account not only
|
2019-12-23 22:40:47 +08:00
|
|
|
matching of the issuer field of I<subject> with the subject field of I<issuer>,
|
|
|
|
but also compares all sub-fields of the B<authorityKeyIdentifier> extension of
|
|
|
|
I<subject>, as far as present, with the respective B<subjectKeyIdentifier>,
|
|
|
|
serial number, and issuer fields of I<issuer>, as far as present. It also checks
|
|
|
|
if the B<keyUsage> field (if present) of I<issuer> allows certificate signing.
|
2021-07-13 23:59:37 +08:00
|
|
|
It does not actually check the certificate signature. An error is returned
|
|
|
|
if the I<issuer> or the I<subject> are incomplete certificates.
|
2015-08-28 00:28:08 +08:00
|
|
|
|
2017-12-25 17:50:39 +08:00
|
|
|
=head1 RETURN VALUES
|
2015-08-28 00:28:08 +08:00
|
|
|
|
2019-12-23 22:40:47 +08:00
|
|
|
X509_check_issued() returns B<X509_V_OK> if all checks are successful
|
|
|
|
or some B<X509_V_ERR*> constant to indicate an error.
|
2015-08-28 00:28:08 +08:00
|
|
|
|
|
|
|
=head1 SEE ALSO
|
|
|
|
|
2019-12-23 22:40:47 +08:00
|
|
|
L<X509_verify_cert(3)>, L<X509_verify(3)>, L<X509_check_ca(3)>,
|
2019-12-28 19:33:12 +08:00
|
|
|
L<openssl-verify(1)>, L<X509_self_signed(3)>
|
2015-08-28 00:28:08 +08:00
|
|
|
|
2016-05-18 23:44:05 +08:00
|
|
|
=head1 COPYRIGHT
|
|
|
|
|
2021-07-29 22:41:35 +08:00
|
|
|
Copyright 2015-2021 The OpenSSL Project Authors. All Rights Reserved.
|
2016-05-18 23:44:05 +08:00
|
|
|
|
2018-12-06 21:04:44 +08:00
|
|
|
Licensed under the Apache License 2.0 (the "License"). You may not use
|
2016-05-18 23:44:05 +08:00
|
|
|
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
|