Sortix volatile manual
This manual documents Sortix volatile, a development build that has not been officially released. You can instead view this document in the latest official manual.
| GENERAL_NAME_NEW(3) | 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 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.
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,
    representing 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 identifier.
    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
d2i_GENERAL_NAME(3), X509_EXTENSION_new(3), X509_NAME_new(3)
STANDARDS
RFC 5280: Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile, section 4.2: Certificate Extensions
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.
| June 6, 2019 | Sortix 1.1.0-dev | 
