X509_REQ_add_extensions
,
X509_REQ_add_extensions_nid
,
X509_REQ_get_extensions
,
X509_REQ_set_extension_nids
,
X509_REQ_get_extension_nids
,
X509_REQ_extension_nid
—
extensions in certification requests
#include <openssl/x509.h>
int
X509_REQ_add_extensions
(X509_REQ
*req, STACK_OF(X509_EXTENSION) *extensions);
int
X509_REQ_add_extensions_nid
(X509_REQ
*req, STACK_OF(X509_EXTENSION) *extensions,
int nid);
STACK_OF(X509_EXTENSION) *
X509_REQ_get_extensions
(X509_REQ
*req);
void
X509_REQ_set_extension_nids
(int
*nids);
int *
X509_REQ_get_extension_nids
(void);
int
X509_REQ_extension_nid
(int
nid);
X509_REQ_add_extensions
() encodes the array of
extensions using
i2d_X509_EXTENSIONS(3)
and adds a new X.501 Attribute object of the type
NID_ext_req
to req using the
equivalent of
X509_ATTRIBUTE_create_by_NID(3)
with a type of V_ASN1_SEQUENCE
.
X509_REQ_add_extensions_nid
() is identical
except that the specified nid is used as the X.501
Attribute type instead of NID_ext_req
.
X509_REQ_get_extensions
() retrieves the
first value of the first X.501 Attribute of appropriate type. By default,
the attribute types NID_ext_req
and
NID_ms_ext_req
are considered appropriate.
X509_REQ_set_extension_nids
() replaces the
list of attribute types that
X509_REQ_get_extensions
() considers appropriate for
storing extensions. The nids argument is interpreted
as a pointer to the first element of a variable-sized array of
int. The last element of the array has to be
NID_undef
. The array needs to remain valid until
X509_REQ_set_extension_nids
() is called again with a
different argument.
X509_REQ_extension_nid
() checks whether
X509_REQ_get_extensions
() regards the
nid argument as a type appropriate for storing
extensions.
X509_REQ_add_extensions
() and
X509_REQ_add_extensions_nid
() returns 1 for success or
0 for failure.
X509_REQ_get_extensions
() returns a newly
allocated array of ASN.1 Extension objects or
NULL
if req is
NULL
, does not contain
CertificationRequestInfo, contains no attribute of an
appropriate type, or if decoding or memory allocation fails.
X509_REQ_get_extension_nids
() returns the
pointer installed with X509_REQ_set_extension_nids
()
or a pointer to a static array {NID_ext_req
,
NID_ms_ext_req
, NID_undef
}
by default.
X509_REQ_extension_nid
() returns 1 if
nid is considered appropriate or 0 otherwise.
These functions first appeared in OpenSSL 0.9.5 and have been available since
OpenBSD 2.7.