NAME
X509at_get_attr
,
X509at_get_attr_count
,
X509at_get_attr_by_OBJ
,
X509at_get_attr_by_NID
,
X509at_get0_data_by_OBJ
—
X.501 Attribute array read
accessors
SYNOPSIS
#include
<openssl/x509.h>
X509_ATTRIBUTE *
X509at_get_attr
(const
STACK_OF(X509_ATTRIBUTE) *attrs, int index);
int
X509at_get_attr_count
(const
STACK_OF(X509_ATTRIBUTE) *attrs);
int
X509at_get_attr_by_OBJ
(const
STACK_OF(X509_ATTRIBUTE) *attrs, const ASN1_OBJECT
*obj, int start_after);
int
X509at_get_attr_by_NID
(const
STACK_OF(X509_ATTRIBUTE) *attrs, int nid,
int start_after);
void *
X509at_get0_data_by_OBJ
(STACK_OF(X509_ATTRIBUTE)
*attrs, const ASN1_OBJECT *obj,
int start_after, int type);
DESCRIPTION
These functions retrieve information from the
attrs array of X.501 Attribute objects. They all fail
if attrs is a NULL
pointer.
X509at_get_attr
()
returns the array element at the zero-based index. It
fails if the index is negative or greater than or
equal to the number of objects in the array.
X509at_get_attr_count
()
returns the number of objects currently stored in the array.
The three remaining functions search
the array starting after the index start_after. They
fail if no matching object is found.
X509at_get0_data_by_OBJ
()
also fails if the data is not of the requested
type.
Additionally, the
start_after argument of
X509at_get0_data_by_OBJ
()
is interpreted in a special way. If start_after is -2
or smaller, X509at_get0_data_by_OBJ
() also fails if
attrs contains more than one matching object. If
start_after is -3 or smaller, it also fails unless the
matching object contains exactly one value.
RETURN VALUES
X509at_get_attr
() returns an internal
pointer or NULL
on failure.
X509at_get_attr_count
() returns the number
of array elements or -1 on failure.
X509at_get_attr_by_OBJ
() and
X509at_get_attr_by_NID
() return the index of the
first object in the array that has an index greater than
start_after and a type matching
obj or nid, respectively, or -1
on failure. In addition, X509at_get_attr_by_NID
()
returns -2 if
OBJ_nid2obj(3) fails on the requested
nid.
X509at_get0_data_by_OBJ
() returns an
internal pointer to the data contained in the value of the first object that
has an index greater than start_after and a type
matching obj, or NULL
on
failure.
SEE ALSO
EVP_PKEY_get_attr(3), OBJ_nid2obj(3), PKCS8_pkey_get0_attrs(3), STACK_OF(3), X509_ATTRIBUTE_get0_data(3), X509_ATTRIBUTE_new(3), X509_REQ_get_attr(3), X509at_add1_attr(3)
HISTORY
X509at_get_attr
(),
X509at_get_attr_count
(),
X509at_get_attr_by_OBJ
(), and
X509at_get_attr_by_NID
() first appeared in OpenSSL
0.9.5 and have been available since OpenBSD 2.7.
X509at_get0_data_by_OBJ
() first appeared
in OpenSSL 0.9.8h and has been available since OpenBSD
4.5.