names for use in X.509
Even though the X.501 Name documented in X509_NAME_new(3) is a complicated 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 indirection.
allocates and initializes an empty GENERAL_NAME
object, representing the ASN.1 GeneralName structure
defined in RFC 5280 section 188.8.131.52. 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
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 184.108.40.206. It is used by extension structures that can
contain multiple names, for example key identifier, alternative name, and
distribution point extensions.
allocates and initializes an empty EDIPARTYNAME
object, representing the ASN.1 EDIPartyName structure
defined in RFC 5280 section 220.127.116.11, 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.
allocates and initializes an empty OTHERNAME object,
representing the ASN.1 OtherName structure defined in
RFC 5280 section 18.104.22.168. It can hold data of any
ASN1_TYPE together with a type identifier.
OTHERNAME_new() return a new
EDIPARTYNAME, or OTHERNAME
NULL if an error occurs.
d2i_GENERAL_NAME(3), X509_EXTENSION_new(3), X509_NAME_new(3)
RFC 5280: Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile, section 4.2: Certificate Extensions
GENERAL_NAMES_free() first appeared in OpenSSL
0.9.2b and have been available since OpenBSD
OTHERNAME_free() first appeared in OpenSSL 0.9.5 and
have been available since OpenBSD 2.7.
EDIPARTYNAME_free() first appeared in OpenSSL 0.9.7
and have been available since OpenBSD 3.2.