X509V3_PARSE_LIST(3) | Library Functions Manual | X509V3_PARSE_LIST(3)

# NAME

`X509V3_parse_list`, `X509V3_conf_free` — create and destroy CONF_VALUE objects

# SYNOPSIS

library “libcrypto”
`#include <openssl/x509v3.h>`

STACK_OF(CONF_VALUE) *
`X509V3_parse_list`(const char *string);

void
`X509V3_conf_free`(CONF_VALUE *conf);

# DESCRIPTION

`X509V3_parse_list`() parses the string and allocates an array of CONF_VALUE objects according to the following rules.

1. The string is split into fields at comma (‘,’) characters.
2. If a field contains a colon (‘:’) character, the part before the colon is regarded as a name and the part after the first colon as the associated value. Otherwise, the whole field is regarded as the name and `NULL` is used as the associated value.
3. For each name and each value, leading and trailing whitespace as defined by isspace(3) is ignored.
4. Parsing ends when a NUL, carriage return, or newline character is encountered.

A new, empty STACK_OF(CONF_VALUE) is allocated and for each parsed name, one CONF_VALUE structure containing the optional value is pushed onto it.

`X509V3_conf_free`() releases all memory used by conf. If conf is `NULL`, no action occurs.

The typical way to release the memory returned from `X509V3_parse_list`() is by calling `sk_CONF_VALUE_pop_free`() on it, passing a pointer to the function `X509V3_conf_free`() as the second argument.

# RETURN VALUES

`X509V3_parse_list`() returns the new STACK_OF(CONF_VALUE) object or `NULL` if an error occurs, in particular if there isn't any name, if the name before a colon or after a comma is empty, if the value after a colon is empty, or if memory allocation fails.

# SEE ALSO

isspace(3), sk_pop_free(3), STACK_OF(3), v2i_ASN1_BIT_STRING(3)

# HISTORY

`X509V3_parse_list`() and `X509V3_conf_free`() first appeared in OpenSSL 0.9.2 and have been available since OpenBSD 2.6.

June 8, 2025 | Debian