These functions allow an
ASN1_STRING structure to be manipulated.ASN1_STRING_length() returns the length of the content of x.
ASN1_STRING_data() returns an internal pointer to the data of x. Since this is an internal pointer it should not be freed or modified in any way.
ASN1_STRING_dup() returns a copy of the structure a.
ASN1_STRING_cmp() compares a and b returning 0 if the two are identical. The string types and content are compared.
ASN1_STRING_set() sets the data of string str to the buffer data or length len. The supplied data is copied. If len is -1 then the length is determined by strlen(data).
ASN1_STRING_type() returns the type of x, using standard constants such as V_ASN1_OCTET_STRING.
ASN1_STRING_to_UTF8() converts the string in to UTF8 format, the converted data is allocated in a buffer in *out. The length of out is returned or a negative error code. The buffer *out should be free using OPENSSL_free().