xref: /freebsd/crypto/openssl/doc/man3/X509_ACERT_get_attr.pod (revision e7be843b4a162e68651d3911f0357ed464915629)
1*e7be843bSPierre Pronchery=pod
2*e7be843bSPierre Pronchery
3*e7be843bSPierre Pronchery=head1 NAME
4*e7be843bSPierre Pronchery
5*e7be843bSPierre ProncheryX509_ACERT_get_attr,
6*e7be843bSPierre ProncheryX509_ACERT_get_attr_by_NID,
7*e7be843bSPierre ProncheryX509_ACERT_get_attr_by_OBJ,
8*e7be843bSPierre ProncheryX509_ACERT_get_attr_count
9*e7be843bSPierre Pronchery- Retrieve attributes from an X509_ACERT structure
10*e7be843bSPierre Pronchery
11*e7be843bSPierre Pronchery=head1 SYNOPSIS
12*e7be843bSPierre Pronchery
13*e7be843bSPierre Pronchery #include <openssl/x509_acert.h>
14*e7be843bSPierre Pronchery
15*e7be843bSPierre Pronchery X509_ATTRIBUTE *X509_ACERT_get_attr(const X509_ACERT *x, int loc);
16*e7be843bSPierre Pronchery int X509_ACERT_get_attr_by_NID(const X509_ACERT *x, int nid, int lastpos);
17*e7be843bSPierre Pronchery int X509_ACERT_get_attr_by_OBJ(const X509_ACERT *x, const ASN1_OBJECT *obj,
18*e7be843bSPierre Pronchery                                int lastpos);
19*e7be843bSPierre Pronchery int X509_ACERT_get_attr_count(const X509_ACERT *x);
20*e7be843bSPierre Pronchery
21*e7be843bSPierre Pronchery=head1 DESCRIPTION
22*e7be843bSPierre Pronchery
23*e7be843bSPierre ProncheryX509_ACERT_get0_attr() retrieves the I<loc>th B<X509_ATTRIBUTE> from an
24*e7be843bSPierre ProncheryB<X509_ACERT> I<x>.  X509_ACERT_get_attr_count() returns the total number
25*e7be843bSPierre Proncheryof attributes in the B<X509_ACERT>.
26*e7be843bSPierre Pronchery
27*e7be843bSPierre ProncheryX509_ACERT_get_attr_by_NID() and X509_ACERT_get_attr_by_OBJ() retrieve the next
28*e7be843bSPierre Proncheryattribute location matching I<nid> or I<obj> after I<lastpos>. I<lastpos>
29*e7be843bSPierre Proncheryshould initially be set to -1.
30*e7be843bSPierre ProncheryIf there are no more entries -1 is returned. If I<nid> is invalid
31*e7be843bSPierre Pronchery(doesn't correspond to a valid OID) then -2 is returned.
32*e7be843bSPierre Pronchery
33*e7be843bSPierre Pronchery=head1 RETURN VALUES
34*e7be843bSPierre Pronchery
35*e7be843bSPierre ProncheryX509_ACERT_get0_attr() return a B<X509_ATTRIBUTE> from an attribute
36*e7be843bSPierre Proncherycertificate, or NULL if the specified attribute is not found.
37*e7be843bSPierre Pronchery
38*e7be843bSPierre ProncheryX509_ACERT_get_attr_by_NID() and X509_ACERT_get_attr_by_OBJ() return
39*e7be843bSPierre Proncherythe location of the next attribute requested or -1 if not found.
40*e7be843bSPierre ProncheryX509_ACERT_get_attr_by_NID() can also return -2 if the supplied NID is invalid.
41*e7be843bSPierre Pronchery
42*e7be843bSPierre ProncheryX509_ACERT_get_attr_count() returns the number of attributes in the given
43*e7be843bSPierre Proncheryattribute certificate.
44*e7be843bSPierre Pronchery
45*e7be843bSPierre Pronchery=head1 HISTORY
46*e7be843bSPierre Pronchery
47*e7be843bSPierre ProncheryX509_ACERT_get0_attr(), X509_ACERT_get_attr_by_NID(), X509_ACERT_get_attr_by_OBJ() and
48*e7be843bSPierre ProncheryX509_ACERT_get_attr_count() were added in OpenSSL 3.4.
49*e7be843bSPierre Pronchery
50*e7be843bSPierre Pronchery=head1 COPYRIGHT
51*e7be843bSPierre Pronchery
52*e7be843bSPierre ProncheryCopyright 2023-2024 The OpenSSL Project Authors. All Rights Reserved.
53*e7be843bSPierre Pronchery
54*e7be843bSPierre ProncheryLicensed under the Apache License 2.0 (the "License").  You may not use
55*e7be843bSPierre Proncherythis file except in compliance with the License.  You can obtain a copy
56*e7be843bSPierre Proncheryin the file LICENSE in the source distribution or at
57*e7be843bSPierre ProncheryL<https://www.openssl.org/source/license.html>.
58*e7be843bSPierre Pronchery
59*e7be843bSPierre Pronchery=cut
60