ASN1_UNIVERSALSTRING_TO_STRING(3)

NAME
ASN1_UNIVERSALSTRING_to_string - recode UTF-32 to ISO Latin-1

SYNOPSIS
libcrypto
#include <openssl/asn1.h>
int
ASN1_UNIVERSALSTRING_to_string(ASN1_UNIVERSALSTRING *string);

DESCRIPTION
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.

SEE ALSO
ASN1_mbstring_copy(3), ASN1_STRING_new(3), ASN1_STRING_to_UTF8(3)

HISTORY
ASN1_UNIVERSALSTRING_to_string() first appeared in SSLeay 0.8.0 and has been available since OpenBSD 2.4.