DragonFly On-Line Manual Pages
GENERAL_NAME_NEW(3) DragonFly Library Functions Manual GENERAL_NAME_NEW(3)
NAME
GENERAL_NAME_new, GENERAL_NAME_free, GENERAL_NAMES_new,
GENERAL_NAMES_free, EDIPARTYNAME_new, EDIPARTYNAME_free, OTHERNAME_new,
OTHERNAME_free -- names for use in X.509 extensions
SYNOPSIS
#include <openssl/x509v3.h>
GENERAL_NAME *
GENERAL_NAME_new(void);
void
GENERAL_NAME_free(GENERAL_NAME *name);
GENERAL_NAMES *
GENERAL_NAMES_new(void);
void
GENERAL_NAMES_free(GENERAL_NAMES *names);
EDIPARTYNAME *
EDIPARTYNAME_new(void);
void
EDIPARTYNAME_free(EDIPARTYNAME *name);
OTHERNAME *
OTHERNAME_new(void);
void
OTHERNAME_free(OTHERNAME *name);
DESCRIPTION
Even though the X.501 Name documented in X509_NAME_new(3) is a compli-
cated multi-layered structure, it is very rigid and not flexible enough
to represent various entities that many people want to use as names in
certificates. For that reason, X.509 extensions use the X.509
GeneralName wrapper structure rather than using the X.501 Name structure
directly, at the expense of adding one or two additional layers of indi-
rection.
GENERAL_NAME_new() allocates and initializes an empty GENERAL_NAME
object, representing the ASN.1 GeneralName structure defined in RFC 5280
section 4.2.1.6. It can for example hold an X509_name object, an IP
address, a DNS host name, a uniform resource identifier, an email
address, or an EDIPARTYNAME or OTHERNAME object described below.
GENERAL_NAME_free() frees name.
GENERAL_NAMES_new() allocates and initializes an empty GENERAL_NAMES
object, which is a STACK_OF(GENERAL_NAME) and represents the ASN.1
GeneralNames structure defined in RFC 5280 section 4.2.1.6. It is used
by extension structures that can contain multiple names, for example key
identifier, alternative name, and distribution point extensions.
GENERAL_NAMES_free() frees names.
EDIPARTYNAME_new() allocates and initializes an empty EDIPARTYNAME
object, representing the ASN.1 EDIPartyName structure defined in RFC 5280
section 4.2.1.6, where ``EDI'' stands for ``electronic data identifier''.
It can hold two strings, the name itself and the name of the authority
that assigned that name. EDIPARTYNAME_free() frees name.
OTHERNAME_new() allocates and initializes an empty OTHERNAME object, rep-
resenting the ASN.1 OtherName structure defined in RFC 5280 section
4.2.1.6. It can hold data of any ASN1_TYPE together with a type identi-
fier. OTHERNAME_free() frees name.
RETURN VALUES
GENERAL_NAME_new(), GENERAL_NAMES_new(), EDIPARTYNAME_new(), and
OTHERNAME_new() return a new GENERAL_NAME, GENERAL_NAMES, EDIPARTYNAME,
or OTHERNAME object or NULL if an error occurs.
SEE ALSO
X509_EXTENSION_new(3), X509_NAME_new(3)
STANDARDS
RFC 5280: Internet X.509 Public Key Infrastructure Certificate and Cer-
tificate Revocation List (CRL) Profile, section 4.2: Certificate Exten-
sions
HISTORY
GENERAL_NAME_new(), GENERAL_NAME_free(), GENERAL_NAMES_new(), and
GENERAL_NAMES_free() first appeared in OpenSSL 0.9.2b and have been
available since OpenBSD 2.6.
OTHERNAME_new() and OTHERNAME_free() first appeared in OpenSSL 0.9.5 and
have been available since OpenBSD 2.7.
EDIPARTYNAME_new() and EDIPARTYNAME_free() first appeared in OpenSSL
0.9.7 and have been available since OpenBSD 3.2.
DragonFly 5.5 March 22, 2018 DragonFly 5.5