libressl-ASN1_UNIVERSALSTRING_to_string3
Recode utf-32 to iso latin-1
Usage
Crypto Library (libcrypto, -lcrypto)
#include <openssl/asn1.h>
int
ASN1_UNIVERSALSTRING_to_string(ASN1_UNIVERSALSTRING *string);
Overview
ASN1_UNIVERSALSTRING_to_string() assumes that the given string is encoded in UTF-32, recodes it in place to ISO Latin-1, and changes the type according to ASN1_PRINTABLE_type(3).
ASN1_UNIVERSALSTRING_to_string() fails and leaves the string unchanged if its ASN1_STRING_type(3) is not V_ASN1_UNIVERSALSTRING, if its ASN1_STRING_length(3) is not a multiple of four bytes, or if any of its characters cannot be represented in ISO Latin-1.
In case of success, the ASN1_STRING_length(3) of the string is reduced by a factor of four.
Return values
ASN1_UNIVERSALSTRING_to_string() returns 1 on success or 0 on failure.