NAME
ASN1_STRING_new
,
ASN1_STRING_type_new
,
ASN1_STRING_free
,
ASN1_OCTET_STRING_new
,
ASN1_OCTET_STRING_free
,
ASN1_BIT_STRING_new
,
ASN1_BIT_STRING_free
,
ASN1_INTEGER_new
,
ASN1_INTEGER_free
,
ASN1_ENUMERATED_new
,
ASN1_ENUMERATED_free
,
ASN1_UTF8STRING_new
,
ASN1_UTF8STRING_free
,
ASN1_IA5STRING_new
,
ASN1_IA5STRING_free
,
ASN1_UNIVERSALSTRING_new
,
ASN1_UNIVERSALSTRING_free
,
ASN1_BMPSTRING_new
,
ASN1_BMPSTRING_free
,
ASN1_GENERALSTRING_new
,
ASN1_GENERALSTRING_free
,
ASN1_T61STRING_new
,
ASN1_T61STRING_free
,
ASN1_VISIBLESTRING_new
,
ASN1_VISIBLESTRING_free
,
ASN1_PRINTABLESTRING_new
,
ASN1_PRINTABLESTRING_free
,
ASN1_PRINTABLE_new
,
ASN1_PRINTABLE_free
,
DIRECTORYSTRING_new
,
DIRECTORYSTRING_free
,
DISPLAYTEXT_new
,
DISPLAYTEXT_free
,
ASN1_GENERALIZEDTIME_new
,
ASN1_GENERALIZEDTIME_free
,
ASN1_UTCTIME_new
,
ASN1_UTCTIME_free
,
ASN1_TIME_new
,
ASN1_TIME_free
—
allocate and free ASN1_STRING
objects
SYNOPSIS
#include
<openssl/asn1.h>
ASN1_STRING *
ASN1_STRING_new
(void);
ASN1_STRING *
ASN1_STRING_type_new
(int
type);
void
ASN1_STRING_free
(ASN1_STRING
*a);
ASN1_OCTET_STRING *
ASN1_OCTET_STRING_new
(void);
void
ASN1_OCTET_STRING_free
(ASN1_OCTET_STRING
*a);
ASN1_BIT_STRING *
ASN1_BIT_STRING_new
(void);
void
ASN1_BIT_STRING_free
(ASN1_BIT_STRING
*a);
ASN1_INTEGER *
ASN1_INTEGER_new
(void);
void
ASN1_INTEGER_free
(ASN1_INTEGER
*a);
ASN1_ENUMERATED *
ASN1_ENUMERATED_new
(void);
void
ASN1_ENUMERATED_free
(ASN1_ENUMERATED
*a);
ASN1_UTF8STRING *
ASN1_UTF8STRING_new
(void);
void
ASN1_UTF8STRING_free
(ASN1_UTF8STRING
*a);
ASN1_IA5STRING *
ASN1_IA5STRING_new
(void);
void
ASN1_IA5STRING_free
(ASN1_IA5STRING
*a);
ASN1_UNIVERSALSTRING *
ASN1_UNIVERSALSTRING_new
(void);
void
ASN1_UNIVERSALSTRING_free
(ASN1_UNIVERSALSTRING
*a);
ASN1_BMPSTRING *
ASN1_BMPSTRING_new
(void);
void
ASN1_BMPSTRING_free
(ASN1_BMPSTRING
*a);
ASN1_GENERALSTRING *
ASN1_GENERALSTRING_new
(void);
void
ASN1_GENERALSTRING_free
(ASN1_GENERALSTRING
*a);
ASN1_T61STRING *
ASN1_T61STRING_new
(void);
void
ASN1_T61STRING_free
(ASN1_T61STRING
*a);
ASN1_VISIBLESTRING *
ASN1_VISIBLESTRING_new
(void);
void
ASN1_VISIBLESTRING_free
(ASN1_VISIBLESTRING
*a);
ASN1_PRINTABLESTRING *
ASN1_PRINTABLESTRING_new
(void);
void
ASN1_PRINTABLESTRING_free
(ASN1_PRINTABLESTRING
*a);
ASN1_STRING *
ASN1_PRINTABLE_new
(void);
void
ASN1_PRINTABLE_free
(ASN1_STRING
*a);
ASN1_STRING *
DIRECTORYSTRING_new
(void);
void
DIRECTORYSTRING_free
(ASN1_STRING
*a);
ASN1_STRING *
DISPLAYTEXT_new
(void);
void
DISPLAYTEXT_free
(ASN1_STRING
*a);
ASN1_GENERALIZEDTIME *
ASN1_GENERALIZEDTIME_new
(void);
void
ASN1_GENERALIZEDTIME_free
(ASN1_GENERALIZEDTIME
*a);
ASN1_UTCTIME *
ASN1_UTCTIME_new
(void);
void
ASN1_UTCTIME_free
(ASN1_UTCTIME
*a);
ASN1_TIME *
ASN1_TIME_new
(void);
void
ASN1_TIME_free
(ASN1_TIME
*a);
DESCRIPTION
The ASN1_STRING object can represent a variety of ASN.1 built-in types. It can store a type and a value.
All the
*_new
()
functions allocate and initialize an empty ASN1_STRING
object. The following table shows the type assigned to the new object, and
which ASN.1 type it represents.
All the
*_free
()
functions free a including any data contained in it.
If a is a NULL
pointer, no
action occurs.
RETURN VALUES
All the *_new
() functions return the new
ASN1_STRING object if successful; otherwise
NULL
is returned and an error code can be retrieved
with
ERR_get_error(3).
SEE ALSO
ASN1_BIT_STRING_set(3), ASN1_INTEGER_get(3), ASN1_item_pack(3), ASN1_mbstring_copy(3), ASN1_PRINTABLE_type(3), ASN1_STRING_length(3), ASN1_STRING_print_ex(3), ASN1_TIME_set(3), ASN1_TYPE_get(3), ASN1_UNIVERSALSTRING_to_string(3), d2i_ASN1_OBJECT(3), d2i_ASN1_OCTET_STRING(3), i2a_ASN1_STRING(3), X509_cmp_time(3), X509_EXTENSION_get_object(3), X509_get_ext_by_OBJ(3), X509_NAME_ENTRY_get_object(3)
HISTORY
ASN1_OCTET_STRING_new
(),
ASN1_OCTET_STRING_free
(),
ASN1_BIT_STRING_new
(),
ASN1_BIT_STRING_free
(),
ASN1_INTEGER_new
(),
ASN1_INTEGER_free
(),
ASN1_IA5STRING_new
(),
ASN1_IA5STRING_free
(),
ASN1_T61STRING_new
(),
ASN1_T61STRING_free
(),
ASN1_PRINTABLESTRING_new
(),
ASN1_PRINTABLESTRING_free
(),
ASN1_PRINTABLE_new
(),
ASN1_PRINTABLE_free
(),
ASN1_UTCTIME_new
(), and
ASN1_UTCTIME_free
() first appeared in SSLeay 0.5.1.
ASN1_STRING_new
(),
ASN1_STRING_type_new
(), and
ASN1_STRING_free
() first appeared in SSLeay 0.6.5.
ASN1_UNIVERSALSTRING_new
(),
ASN1_UNIVERSALSTRING_free
(),
ASN1_GENERALSTRING_new
(), and
ASN1_GENERALSTRING_free
() first appeared in SSLeay
0.8.0. ASN1_BMPSTRING_new
(),
ASN1_BMPSTRING_free
(),
ASN1_GENERALIZEDTIME_new
(), and
ASN1_GENERALIZEDTIME_free
() first appeared in SSLeay
0.9.0. All these functions have been available since
OpenBSD 2.4.
ASN1_ENUMERATED_new
(),
ASN1_ENUMERATED_free
(),
ASN1_TIME_new
(), and
ASN1_TIME_free
() first appeared in OpenSSL 0.9.2b.
ASN1_UTF8STRING_new
(),
ASN1_UTF8STRING_free
(),
ASN1_VISIBLESTRING_new
(),
ASN1_VISIBLESTRING_free
(),
DIRECTORYSTRING_new
(),
DIRECTORYSTRING_free
(),
DISPLAYTEXT_new
(), and
DISPLAYTEXT_free
() first appeared in OpenSSL 0.9.3.
These functions have been available since OpenBSD
2.6.
BUGS
ASN1_OCTET_STRING, ASN1_BIT_STRING, ASN1_INTEGER, ASN1_ENUMERATED, ASN1_UTF8STRING, ASN1_IA5STRING, ASN1_UNIVERSALSTRING, ASN1_BMPSTRING, ASN1_GENERALSTRING, ASN1_T61STRING, ASN1_VISIBLESTRING, ASN1_PRINTABLESTRING, ASN1_GENERALIZEDTIME, ASN1_UTCTIME, and ASN1_TIME are merely typedef aliases of ASN1_STRING and provide no type safety whatsoever.