Sortix nightly manual
This manual documents Sortix nightly, a development build that has not been officially released. You can instead view this document in the latest official manual.
ASN1_OBJECT_NEW(3) | Library Functions Manual | ASN1_OBJECT_NEW(3) |
NAME
ASN1_OBJECT_new
,
ASN1_OBJECT_create
,
ASN1_OBJECT_free
—
ASN.1 object identifiers
SYNOPSIS
#include
<openssl/asn1.h>
ASN1_OBJECT *
ASN1_OBJECT_new
(void);
ASN1_OBJECT *
ASN1_OBJECT_create
(int
nid, unsigned char *content,
int len, const
char *short_name, const char
*long_name);
void
ASN1_OBJECT_free
(ASN1_OBJECT
*a);
DESCRIPTION
ASN1_OBJECT_new
() allocates and initializes
an empty ASN1_OBJECT object, representing an
ASN.1 OBJECT IDENTIFIER. It can hold a short name, a long name, a numeric
identifier (NID), and a sequence of integers identifying a node in the
International Object Identifier tree as specified in ITU-T recommendation
X.660. The new object is marked as dynamically allocated.
The ASN.1 object identifier type is also represented by the
V_ASN1_OBJECT
type identifier constant.
ASN1_OBJECT_create
() allocates a new
ASN1_OBJECT with the given
nid, copies the
len DER
content octets, the
short_name, and the
long_name into it, and marks the new object
and all data contained in it as dynamically allocated.
Application programs normally use utility functions like
OBJ_nid2obj(3)
rather than using ASN1_OBJECT_new
() or
ASN1_OBJECT_create
() directly.
ASN1_OBJECT_free
() has the following effects:
All data contained in a that is marked as
dynamically allocated is freed, and the respective fields of
a become empty. Contained data not marked as
dynamically allocated remains intact.
If the object a itself is marked as dynamically
allocated, it is freed. Otherwise, the pointer
a remains valid.
If a is a
NULL
pointer or if neither the object
itself nor any of its content is marked as dynamically allocated, no action
occurs.
RETURN VALUES
ASN1_OBJECT_new
() and
ASN1_OBJECT_create
() return a pointer to
the new object or NULL
if memory allocation
fails,
ERRORS
After failure ofASN1_OBJECT_new
() or
ASN1_OBJECT_create
(), the following
diagnostic can be retrieved with
ERR_get_error(3),
ERR_GET_REASON(3),
and
ERR_reason_error_string(3):
ERR_R_MALLOC_FAILURE
“malloc failure”- Memory allocation failed.
ASN1_OBJECT_create
(), the following
diagnostic can be retrieved in addition to the above:
ERR_R_ASN1_LIB
“ASN1 lib”- Memory allocation failed.
SEE ALSO
a2d_ASN1_OBJECT(3), ASN1_TYPE_get(3), d2i_ASN1_OBJECT(3), OBJ_create(3), OBJ_nid2obj(3)STANDARDS
ITU-T Recommendation X.208, also known as ISO/IEC 8824-1: Specification of Abstract Syntax Notation One (ASN.1), section 28: Notation for the object identifier type ITU-T Recommendation X.690, also known as ISO/IEC 8825-1: Information technology - ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER), section 8.19: Encoding of an object identifier valueHISTORY
ASN1_OBJECT_new
() and
ASN1_OBJECT_free
() first appeared in SSLeay
0.5.1 and ASN1_OBJECT_create
() in SSLeay
0.8.0. These functions have been available since OpenBSD
2.4.December 15, 2021 | Debian |