DragonFly On-Line Manual Pages

Search: Section:  


X509_OBJECT_GET0_X509(3)                    DragonFly Library Functions Manual

NAME

X509_OBJECT_get_type, X509_OBJECT_up_ref_count, X509_OBJECT_free_contents, X509_OBJECT_get0_X509, X509_OBJECT_get0_X509_CRL, X509_OBJECT_idx_by_subject, X509_OBJECT_retrieve_by_subject, X509_OBJECT_retrieve_match - certificate, CRL, private key, and string wrapper for certificate stores

SYNOPSIS

#include <openssl/x509_vfy.h> int X509_OBJECT_get_type(const X509_OBJECT *obj); int X509_OBJECT_up_ref_count(X509_OBJECT *obj); void X509_OBJECT_free_contents(X509_OBJECT *obj); X509 * X509_OBJECT_get0_X509(const X509_OBJECT *obj); X509_CRL * X509_OBJECT_get0_X509_CRL(X509_OBJECT *obj); int X509_OBJECT_idx_by_subject(STACK_OF(X509_OBJECT) *stack, int type, X509_NAME *name); X509_OBJECT * X509_OBJECT_retrieve_by_subject(STACK_OF(X509_OBJECT) *stack, int type, X509_NAME *name); X509_OBJECT * X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *stack, X509_OBJECT *obj);

DESCRIPTION

The X509_OBJECT structure is a shallow wrapper around one X509 certificate object, one X509_CRL certificate revocation list object, one EVP_PKEY private key object, or one char * string. The type of object stored at any given time can be inspected with X509_OBJECT_get_type(). Each X509_STORE object uses one stack of X509_OBJECT structures as its main storage area. If obj contains an X509 certificate or an X509_CRL certificate revocation list, X509_OBJECT_up_ref_count() increments the reference count of that inner object by 1. Otherwise, no action occurs. If obj contains an X509 certificate, X509_OBJECT_free_contents() calls X509_free(3) on that inner object. If obj contains an X509_CRL certificate revocation list, it calls X509_CRL_free(3) on that inner list. Otherwise, no action occurs. X509_OBJECT_free_contents() does not free obj itself. If type is X509_LU_X509, X509_OBJECT_idx_by_subject() and X509_OBJECT_retrieve_by_subject() search the given stack for a certificate with the subject name. If type is X509_LU_CRL, they search for a certificate revocation list with the issuer name instead. If obj contains a certificate, X509_OBJECT_retrieve_match() searches the given stack for a certificate with a matching subject name; if it contains a certificate revocation list, it searches for a certificate revocation list with a matching issuer name instead; otherwise, it searches for an X509_OBJECT with a matching type.

RETURN VALUES

X509_OBJECT_get_type() returns X509_LU_X509 if obj contains a certificate, X509_LU_CRL if it contains a certificate revocation list, or 0 if an error occurs. X509_OBJECT_up_ref_count() returns 1 on success and 0 on failure. X509_OBJECT_get0_X509() returns an internal pointer to the certificate contained in obj or NULL if obj is NULL or contains no certificate. X509_OBJECT_get0_X509_CRL() returns an internal pointer to the certificate revocation list contained in obj or NULL if obj is NULL or contains no certificate revocation list. X509_OBJECT_idx_by_subject() returns the zero-based index of the first matching certificate or revocation list in the stack or -1 if type is neither X509_LU_X509 nor X509_LU_CRL or if no match is found. X509_OBJECT_retrieve_by_subject() returns the first matching certificate or revocation list in the stack or NULL if type is neither X509_LU_X509 nor X509_LU_CRL or if no match is found. X509_OBJECT_retrieve_match() returns the first mathching X509_OBJECT or NULL if stack or obj is NULL or no match is found.

SEE ALSO

X509_CRL_new(3), X509_NAME_new(3), X509_STORE_get0_objects(3), X509_STORE_load_locations(3), X509_STORE_new(3)

HISTORY

X509_OBJECT_up_ref_count() and X509_OBJECT_free_contents() first appeared in SSLeay 0.8.0 and have been available since OpenBSD 2.4. X509_OBJECT_idx_by_subject(), X509_OBJECT_retrieve_by_subject(), and X509_OBJECT_retrieve_match() first appeared in OpenSSL 0.9.6 and have been available since OpenBSD 2.9. X509_OBJECT_get_type(), X509_OBJECT_get0_X509(), and X509_OBJECT_get0_X509_CRL() first appeared in OpenSSL 1.1.0 and have been available since OpenBSD 6.3. DragonFly 5.7-DEVELOPMENT June 6, 2019 DragonFly 5.7-DEVELOPMENT

Search: Section: