X509_get_subject_name3ssl
Get x509_name hashes or get and set issuer or subject names
Usage
#include <openssl/x509.h>unsigned long X509_NAME_hash_ex(const X509_NAME *x, OSSL_LIB_CTX *libctx,const char *propq, int *ok);X509_NAME *X509_get_subject_name(const X509 *x);int X509_set_subject_name(X509 *x, const X509_NAME *name);unsigned long X509_subject_name_hash(X509 *x);X509_NAME *X509_get_issuer_name(const X509 *x);int X509_set_issuer_name(X509 *x, const X509_NAME *name);unsigned long X509_issuer_name_hash(X509 *x);X509_NAME *X509_REQ_get_subject_name(const X509_REQ *req);int X509_REQ_set_subject_name(X509_REQ *req, const X509_NAME *name);X509_NAME *X509_CRL_get_issuer(const X509_CRL *crl);int X509_CRL_set_issuer_name(X509_CRL *x, const X509_NAME *name);#include <openssl/x509_acert.h>X509_NAME *X509_ACERT_get0_issuerName(const X509_ACERT *x);int X509_ACERT_set1_issuerName(X509_ACERT *x, const X509_NAME *name);
The following macro has been deprecated since OpenSSL 3.0, and can be hidden entirely by defining OPENSSL_API_COMPAT with a suitable version value, see openssl_user_macros(7):
#define X509_NAME_hash(x) X509_NAME_hash_ex(x, NULL, NULL, NULL)
Overview
X509_NAME_hash_ex() returns a hash value of name x or 0 on failure, using any given library context libctx and property query propq. The ok result argument may be NULL or else is used to return 1 for success and 0 for failure. Failure may happen on malloc error or if no SHA1 implementation is available.
X509_NAME_hash() returns a hash value of name x or 0 on failure, using the default library context and default property query.
X509_get_subject_name() returns the subject name of certificate x. The returned value is an internal pointer which MUST NOT be freed. x MUST NOT be NULL.
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_subject_name_hash() returns a hash value of the subject name of certificate x.
X509_get_issuer_name(), X509_set_issuer_name(), and X509_issuer_name_hash() are identical to X509_get_subject_name(), X509_set_subject_name(), and X509_subject_name_hash() except they relate to the issuer name of x.
Similarly X509_REQ_get_subject_name(), X509_REQ_set_subject_name(), X509_ACERT_get0_issuerName(), X509_ACERT_set1_issuerName(), X509_CRL_get_issuer() and X509_CRL_set_issuer_name() get or set the subject or issuer names of certificate requests of CRLs respectively.
Since attribute certificates do not have a subject name, only the issuer name can be set. For details on setting X509_ACERT holder identities, see X509_ACERT_set0_holder_entityName(3).
Return values
X509_get_subject_name(), X509_get_issuer_name(), X509_REQ_get_subject_name() X509_ACERT_get0_issuerName() and X509_CRL_get_issuer() return an X509_NAME pointer.
X509_NAME_hash_ex(), X509_NAME_hash(), X509_subject_name_hash() and X509_issuer_name_hash() return the first four bytes of the SHA1 hash value, converted to unsigned long in little endian order, or 0 on failure.
X509_set_subject_name(), X509_set_issuer_name(), X509_REQ_set_subject_name(), X509_ACERT_get0_issuerName() and X509_CRL_set_issuer_name() return 1 for success and 0 for failure.
Releases
6 releases since Debian 9 (Stretch); the text changed 5 times.