NAME
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
SYNOPSIS
#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);
DESCRIPTION
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.
RETURN VALUES
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.
SEE ALSO
d2i_X509_EXTENSION(3), STACK_OF(3), X509_EXTENSION_new(3), X509_REQ_new(3), X509V3_extensions_print(3)
HISTORY
These functions first appeared in OpenSSL 0.9.5 and have been available since OpenBSD 2.7.