EVP_PKEY_ASN1_GET_COUNT(3ossl)
π EVP_PKEY_ASN1_GET_COUNT β the ossl girlies' guide to enum'ing public key ASN.1 methods β¨
okay so bestie, this is the OpenSSL 3ossl page for EVP_PKEY_ASN1_GET_COUNT(3ossl) and it's literally a whole tour of the public key ASN.1 method collection. grab a matcha, we're going in π
π NAME π
EVP_PKEY_asn1_find, EVP_PKEY_asn1_find_str, EVP_PKEY_asn1_get_count, EVP_PKEY_asn1_get0, EVP_PKEY_asn1_get0_info β the icons that enumerate public key ASN.1 methods. periodt, that's the whole job π
β¨ 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_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 πΈ
okay so first up, EVP_PKEY_asn1_count() returns a count of the number of public key ASN.1 methods available β and it's highkey inclusive, like, it includes the standard methods and any methods added by the application. we love an expanding roster π
EVP_PKEY_asn1_get0() returns the public key ASN.1 method idx. the value of idx must be between zero and EVP_PKEY_asn1_get_count() - 1. no skipping past the end bestie, that's not the vibe π
EVP_PKEY_asn1_find() looks up the EVP_PKEY_ASN1_METHOD with NID type. if pe isn't NULL, then it will look up an engine implementing a EVP_PKEY_ASN1_METHOD for the NID type and return that instead β and it also sets *pe to point at the engine that implements it. so it's giving "found the main character and also told you who their manager is" π
EVP_PKEY_asn1_find_str() looks up the EVP_PKEY_ASN1_METHOD with PEM type string str. just like EVP_PKEY_asn1_find(), if pe isn't NULL, then it will look up an engine implementing a EVP_PKEY_ASN1_METHOD for the NID type and return that instead, and also set *pe to point at the engine that implements it. same energy, different lookup key, we love consistency π₯
EVP_PKEY_asn1_get0_info() returns the public key ID, base public key ID (both NIDs), any flags, the method description and PEM type string associated with the public key ASN.1 method *ameth. it's the full info dump, the whole ~aesthetic~ of one method β¨
β οΈ heads up bestie:EVP_PKEY_asn1_count(),EVP_PKEY_asn1_get0(),EVP_PKEY_asn1_find()andEVP_PKEY_asn1_find_str()are not thread safe β but as long as allEVP_PKEY_ASN1_METHODobjects are added before the application gets threaded, using them is safe. seeEVP_PKEY_asn1_add0(3). so, do your adding early like a responsible queen π«Ά
π RETURN VALUES π
EVP_PKEY_asn1_count()returns the number of available public key methods. a number. slay πEVP_PKEY_asn1_get0()return a public key method orNULLif idx is out of range. out of range = no method for you πEVP_PKEY_asn1_get0_info()returns0on failure,1on success. classic binary blessing π
π¦ SEE ALSO π¦
go read those too, iykyk π§
π COPYRIGHT π
Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.
and that's the whole page bestie ππβ¨ β brought to you by OpenSSL 3.5.6, dated 2026-04-07, filed under the ossl manual name and the very iconic title EVP_PKEY_ASN1_GET_COUNT(3ossl). go forth and enumerate responsibly π
π«Άπ
π¦ where this page comes from
- freebsd 15.1: base 15.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms