X509_GET_SUBJECT_NAME(3) | Library Functions Manual | X509_GET_SUBJECT_NAME(3)

# NAME

`X509_get_subject_name`, `X509_set_subject_name`, `X509_get_issuer_name`, `X509_set_issuer_name`, `X509_REQ_get_subject_name`, `X509_REQ_set_subject_name`, `X509_CRL_get_issuer`, `X509_CRL_set_issuer_name` — get and set issuer or subject names

# SYNOPSIS

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

X509_NAME *
`X509_get_subject_name`(const X509 *x);

int
`X509_set_subject_name`(X509 *x, X509_NAME *name);

X509_NAME *
`X509_get_issuer_name`(const X509 *x);

int
`X509_set_issuer_name`(X509 *x, X509_NAME *name);

X509_NAME *
`X509_REQ_get_subject_name`(const X509_REQ *req);

int
`X509_REQ_set_subject_name`(X509_REQ *req, X509_NAME *name);

X509_NAME *
`X509_CRL_get_issuer`(const X509_CRL *crl);

int
`X509_CRL_set_issuer_name`(X509_CRL *x, X509_NAME *name);

# DESCRIPTION

`X509_get_subject_name`() returns the subject name of certificate x. The returned value is an internal pointer which must not be freed.

`X509_set_subject_name`() sets the issuer name of certificate x to name. The name parameter is copied internally and should be freed up when it is no longer needed.

`X509_get_issuer_name`() and `X509_set_issuer_name`() are identical to `X509_get_subject_name`() and `X509_set_subject_name`() except that they get and set the issuer name of x.

Similarly `X509_REQ_get_subject_name`(), `X509_REQ_set_subject_name`(), `X509_CRL_get_issuer`(), and `X509_CRL_set_issuer_name`() get or set the subject or issuer names of certificate requests of CRLs, respectively.

# RETURN VALUES

`X509_get_subject_name`(), `X509_get_issuer_name`(), `X509_REQ_get_subject_name`(), and `X509_CRL_get_issuer`() return a pointer to an X509_NAME object.

`X509_set_subject_name`(), `X509_set_issuer_name`(), `X509_REQ_set_subject_name`(), and `X509_CRL_set_issuer_name`() return 1 for success or 0 for failure. In some cases of failure, the reason can be determined with ERR_get_error(3).

# SEE ALSO

d2i_X509_NAME(3), X509_CRL_get0_by_serial(3), X509_CRL_new(3), X509_get_pubkey(3), X509_NAME_add_entry_by_txt(3), X509_NAME_ENTRY_get_object(3), X509_NAME_get_index_by_NID(3), X509_NAME_new(3), X509_NAME_print_ex(3), X509_new(3), X509_REQ_new(3), X509_sign(3), X509_verify_cert(3), X509V3_get_d2i(3)

# HISTORY

`X509_get_subject_name`() and `X509_get_issuer_name`() appeared in SSLeay 0.4 or earlier. `X509_set_subject_name`(), `X509_set_issuer_name`(), `X509_REQ_get_subject_name`(), and `X509_REQ_set_subject_name`() first appeared in SSLeay 0.6.5. These functions have been available since OpenBSD 2.4.

`X509_CRL_get_issuer`() first appeared in OpenSSL 0.9.2b and has been available since OpenBSD 2.6.

`X509_CRL_set_issuer_name`() first appeared in OpenSSL 0.9.7 and has been available since OpenBSD 3.2.

June 8, 2025 | Debian