S2I_ASN1_IA5STRING(3ossl)
πΈ NAME πΈ
okay so bestie, this is S2I_ASN1_IA5STRING(3ossl), and it's the manual page for converting objects from/to ASN.1/string representation. The whole squad is here:
i2s_ASN1_IA5STRINGs2i_ASN1_IA5STRINGi2s_ASN1_INTEGERs2i_ASN1_INTEGERi2s_ASN1_OCTET_STRINGs2i_ASN1_OCTET_STRINGi2s_ASN1_ENUMERATEDi2s_ASN1_ENUMERATED_TABLEi2s_ASN1_UTF8STRINGs2i_ASN1_UTF8STRING
β¨ SYNOPSIS β¨
include this and you're in:
#include <openssl/x509v3.h>
char *i2s_ASN1_IA5STRING(X509V3_EXT_METHOD *method, ASN1_IA5STRING *ia5);
ASN1_IA5STRING *s2i_ASN1_IA5STRING(X509V3_EXT_METHOD *method,
X509V3_CTX *ctx, const char *str);
char *i2s_ASN1_INTEGER(X509V3_EXT_METHOD *method, const ASN1_INTEGER *a);
ASN1_INTEGER *s2i_ASN1_INTEGER(X509V3_EXT_METHOD *method, const char *value);
char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method,
const ASN1_OCTET_STRING *oct);
ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method,
X509V3_CTX *ctx, const char *str);
char *i2s_ASN1_ENUMERATED(X509V3_EXT_METHOD *method, const ASN1_ENUMERATED *a);
char *i2s_ASN1_ENUMERATED_TABLE(X509V3_EXT_METHOD *method,
const ASN1_ENUMERATED *e);
char *i2s_ASN1_UTF8STRING(X509V3_EXT_METHOD *method,
ASN1_UTF8STRING *utf8);
ASN1_UTF8STRING *s2i_ASN1_UTF8STRING(X509V3_EXT_METHOD *method,
X509V3_CTX *ctx, const char *str);
π DESCRIPTION π
These functions convert OpenSSL objects to and from their ASN.1/string representation. This function is used for X509v3 extensions. lowkey iconic behavior, tbh π«Ά
π NOTES π
The letters i and s in i2s and s2i stand for "internal" (that is, an internal C structure) and string respectively. So i2s_ASN1_IA5STRING() converts from internal to string.
It is the caller's responsibility to free the returned string. In the i2s_ASN1_IA5STRING() function the string is copied and the ownership of the original string remains with the caller. don't forget to free, bestie β that's the vibe check π
π¦ RETURN VALUES π¦
Here's the tea on what comes back:
i2s_ASN1_IA5STRING()returns the pointer to a IA5 string orNULLif an error occurs.s2i_ASN1_IA5STRING()return a validASN1_IA5STRINGstructure orNULLif an error occurs.i2s_ASN1_INTEGER()return a valid string orNULLif an error occurs.s2i_ASN1_INTEGER()returns the pointer to aASN1_INTEGERstructure orNULLif an error occurs.i2s_ASN1_OCTET_STRING()returns the pointer to aOCTET_STRINGstring orNULLif an error occurs.s2i_ASN1_OCTET_STRING()return a validASN1_OCTET_STRINGstructure orNULLif an error occurs.i2s_ASN1_ENUMERATED()return a valid string orNULLif an error occurs.s2i_ASN1_ENUMERATED()returns the pointer to aASN1_ENUMERATEDstructure orNULLif an error occurs.s2i_ASN1_UTF8STRING()return a validASN1_UTF8STRINGstructure orNULLif an error occurs.i2s_ASN1_UTF8STRING()returns the pointer to a UTF-8 string orNULLif an error occurs.
and yes, that's the whole list β no sneaky extra returns hiding in the group chat π«‘
π HISTORY π
i2s_ASN1_UTF8STRING() and s2i_ASN1_UTF8STRING() were made public in OpenSSL 3.0. glow-up era β¨
π COPYRIGHT π
Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.
kisses and good luck out there β this page is from OpenSSL 3.5.0, dated 2026-09-25 π
π
π¦ where this page comes from
- opensuse-leap 16.0: openssl-3-doc 3.5.0-160000.11.1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms