NAME
EVP_PKEY_asn1_get_count
,
EVP_PKEY_asn1_get0
,
EVP_PKEY_get0_asn1
,
EVP_PKEY_asn1_find
,
EVP_PKEY_asn1_find_str
,
EVP_PKEY_asn1_get0_info
—
enumerate public key ASN.1
methods
SYNOPSIS
#include
<openssl/evp.h>
int
EVP_PKEY_asn1_get_count
(void);
const EVP_PKEY_ASN1_METHOD *
EVP_PKEY_asn1_get0
(int idx);
const EVP_PKEY_ASN1_METHOD *
EVP_PKEY_get0_asn1
(const EVP_PKEY
*pkey);
const EVP_PKEY_ASN1_METHOD *
EVP_PKEY_asn1_find
(ENGINE **pe,
int type);
const EVP_PKEY_ASN1_METHOD *
EVP_PKEY_asn1_find_str
(ENGINE
**pe, const char *str, int
len);
int
EVP_PKEY_asn1_get0_info
(int
*ppkey_id, int *pkey_base_id,
int *ppkey_flags, const char
**pinfo, const char **ppem_str,
const EVP_PKEY_ASN1_METHOD *ameth);
DESCRIPTION
EVP_PKEY_asn1_get_count
()
returns a count of the number of public key ASN.1 methods available. It
includes standard methods and any methods added by the application.
EVP_PKEY_asn1_get0
()
returns the public key ASN.1 method idx. The value of
idx must be in the range from zero to
EVP_PKEY_asn1_get_count
() - 1.
EVP_PKEY_asn1_find
()
looks up the method with NID type. If
pe is not NULL
, it first looks
for an engine implementing a method for the NID type.
If one is found, *pe is set to that engine and the
method from that engine is returned instead.
EVP_PKEY_asn1_find_str
()
looks up the method with PEM type string str. Just
like EVP_PKEY_asn1_find
(), if
pe is not NULL
, methods from
engines are preferred.
EVP_PKEY_asn1_get0_info
()
retrieves the public key ID, the base public key ID (both NIDs), any flags,
the method description and the PEM type string associated with the public
key ASN.1 method
*ameth.
EVP_PKEY_asn1_get_count
(),
EVP_PKEY_asn1_get0
(),
EVP_PKEY_asn1_find
() and
EVP_PKEY_asn1_find_str
() are not thread safe, but as
long as all EVP_PKEY_ASN1_METHOD objects are added
before the application gets threaded, using them is safe. See
EVP_PKEY_asn1_add0(3).
RETURN VALUES
EVP_PKEY_asn1_get_count
() returns the
number of available public key methods.
EVP_PKEY_asn1_get0
() returns a public key
method or NULL
if idx is out
of range.
EVP_PKEY_get0_asn1
() returns the public
key method used by pkey.
EVP_PKEY_asn1_get0_info
() returns 1 on
success or 0 on failure.
SEE ALSO
HISTORY
These functions first appeared in OpenSSL 1.0.0 and have been available since OpenBSD 4.9.