OpenBSD manual page server

Manual Page Search Parameters

X509_NAME_ENTRY_GET_OBJECT(3) Library Functions Manual X509_NAME_ENTRY_GET_OBJECT(3)

X509_NAME_ENTRY_new, X509_NAME_ENTRY_free, X509_NAME_ENTRY_get_object, X509_NAME_ENTRY_get_data, X509_NAME_ENTRY_set_object, X509_NAME_ENTRY_set_data, X509_NAME_ENTRY_create_by_txt, X509_NAME_ENTRY_create_by_NID, X509_NAME_ENTRY_create_by_OBJX.501 relative distinguished name

#include <openssl/x509.h>

X509_NAME_ENTRY *
X509_NAME_ENTRY_new(void);

void
X509_NAME_ENTRY_free(X509_NAME_ENTRY* ne);

ASN1_OBJECT *
X509_NAME_ENTRY_get_object(const X509_NAME_ENTRY *ne);

ASN1_STRING *
X509_NAME_ENTRY_get_data(const X509_NAME_ENTRY *ne);

int
X509_NAME_ENTRY_set_object(X509_NAME_ENTRY *ne, const ASN1_OBJECT *obj);

int
X509_NAME_ENTRY_set_data(X509_NAME_ENTRY *ne, int type, const unsigned char *bytes, int len);

X509_NAME_ENTRY *
X509_NAME_ENTRY_create_by_txt(X509_NAME_ENTRY **ne, const char *field, int type, const unsigned char *bytes, int len);

X509_NAME_ENTRY *
X509_NAME_ENTRY_create_by_NID(X509_NAME_ENTRY **ne, int nid, int type, const unsigned char *bytes, int len);

X509_NAME_ENTRY *
X509_NAME_ENTRY_create_by_OBJ(X509_NAME_ENTRY **ne, const ASN1_OBJECT *obj, int type, const unsigned char *bytes, int len);

An X.501 RelativeDistinguishedName is a set of field type and value pairs. It is the building block for constructing X.501 Name objects. This implementation only supports sets with one element, so an X509_NAME_ENTRY object contains only one field type and one value.

() allocates and initializes an empty X509_NAME_ENTRY object, representing an ASN.1 RelativeDistinguishedName structure defined in RFC 5280 section 4.1.2.4.

() frees ne and the type and value contained in it.

() retrieves the field type of ne in an ASN1_OBJECT structure. () retrieves the field value of ne in an ASN1_STRING structure. These two functions can be used to examine an X509_NAME_ENTRY object as returned by X509_NAME_get_entry(3).

() sets the field type of ne to obj.

() sets the field value of ne to string type type and the value determined by bytes and len.

(), (), and () create and return an X509_NAME_ENTRY structure.

Except for () and (), these functions are rarely used because X509_NAME_ENTRY structures are almost always part of X509_NAME structures and the functions described in X509_NAME_add_entry_by_txt(3) are typically used to create and add new entries in a single operation.

The arguments of these functions support similar options to the similarly named ones described in X509_NAME_add_entry_by_txt(3). So for example type can be set to MBSTRING_ASC, but in the case of () the field type must be set first so the relevant field information can be looked up internally.

The X509_NAME_ENTRY_new() function returns a valid X509_NAME_ENTRY structure if successful; otherwise NULL is returned and an error code can be retrieved with ERR_get_error(3).

X509_NAME_ENTRY_get_object() returns a valid ASN1_OBJECT structure if it is set or NULL if an error occurred.

X509_NAME_ENTRY_get_data() returns a valid ASN1_STRING structure if it is set or NULL if an error occurred.

The X509_NAME_ENTRY_set_object() function returns 1 if successful; otherwise 0 is returned and an error code can be retrieved with ERR_get_error(3).

X509_NAME_ENTRY_set_data() return 1 on success or 0 on error. In some cases of failure, the reason can be determined with ERR_get_error(3).

X509_NAME_ENTRY_create_by_txt(), X509_NAME_ENTRY_create_by_NID(), and X509_NAME_ENTRY_create_by_OBJ() return a valid X509_NAME_ENTRY structure on success or NULL if an error occurred. In some cases of failure, the reason can be determined with ERR_get_error(3).

OBJ_nid2obj(3), X509_NAME_add_entry(3), X509_NAME_get_entry(3), X509_NAME_new(3)

RFC 5280: Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile

ITU-T Recommendation X.501, also known as ISO/IEC 9594-2: Information Technology Open Systems Interconnection The Directory: Models, section 9.3: Relative distinguished name

X509_NAME_ENTRY_new() and X509_NAME_ENTRY_free() first appeared in SSLeay 0.5.1. X509_NAME_ENTRY_get_object(), X509_NAME_ENTRY_get_data(), X509_NAME_ENTRY_set_object(), X509_NAME_ENTRY_set_data(), X509_NAME_ENTRY_create_by_NID(), and X509_NAME_ENTRY_create_by_OBJ() first appeared in SSLeay 0.8.0. These functions have been available since OpenBSD 2.4.

X509_NAME_ENTRY_create_by_txt() first appeared in OpenSSL 0.9.5 and has been available since OpenBSD 2.7.

June 14, 2019 OpenBSD-current