libressl-ASN1_UNIVERSALSTRING_to_string(3)

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.

History

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

From libressl 4.4.0-1 in Arch Linux 2026-11-01. Parsed by carta from the page's mdoc source.