#ifndef MBEDTLS_OID_H
#define MBEDTLS_OID_H
#include "mbedtls/private_access.h"
#include "mbedtls/build_info.h"
#include "mbedtls/asn1.h"
#include "mbedtls/pk.h"
#include <stddef.h>
#if defined(MBEDTLS_CIPHER_C)
#include "mbedtls/cipher.h"
#endif
#include "mbedtls/md.h"
#define MBEDTLS_ERR_OID_NOT_FOUND …
#define MBEDTLS_ERR_OID_BUF_TOO_SMALL …
#define MBEDTLS_OID_X509_EXT_AUTHORITY_KEY_IDENTIFIER …
#define MBEDTLS_OID_X509_EXT_SUBJECT_KEY_IDENTIFIER …
#define MBEDTLS_OID_X509_EXT_KEY_USAGE …
#define MBEDTLS_OID_X509_EXT_CERTIFICATE_POLICIES …
#define MBEDTLS_OID_X509_EXT_POLICY_MAPPINGS …
#define MBEDTLS_OID_X509_EXT_SUBJECT_ALT_NAME …
#define MBEDTLS_OID_X509_EXT_ISSUER_ALT_NAME …
#define MBEDTLS_OID_X509_EXT_SUBJECT_DIRECTORY_ATTRS …
#define MBEDTLS_OID_X509_EXT_BASIC_CONSTRAINTS …
#define MBEDTLS_OID_X509_EXT_NAME_CONSTRAINTS …
#define MBEDTLS_OID_X509_EXT_POLICY_CONSTRAINTS …
#define MBEDTLS_OID_X509_EXT_EXTENDED_KEY_USAGE …
#define MBEDTLS_OID_X509_EXT_CRL_DISTRIBUTION_POINTS …
#define MBEDTLS_OID_X509_EXT_INIHIBIT_ANYPOLICY …
#define MBEDTLS_OID_X509_EXT_FRESHEST_CRL …
#define MBEDTLS_OID_X509_EXT_NS_CERT_TYPE …
#define MBEDTLS_OID_MAX_COMPONENTS …
#define MBEDTLS_OID_ISO_MEMBER_BODIES …
#define MBEDTLS_OID_ISO_IDENTIFIED_ORG …
#define MBEDTLS_OID_ISO_CCITT_DS …
#define MBEDTLS_OID_ISO_ITU_COUNTRY …
#define MBEDTLS_OID_COUNTRY_US …
#define MBEDTLS_OID_ORG_RSA_DATA_SECURITY …
#define MBEDTLS_OID_RSA_COMPANY …
#define MBEDTLS_OID_ORG_ANSI_X9_62 …
#define MBEDTLS_OID_ANSI_X9_62 …
#define MBEDTLS_OID_ORG_DOD …
#define MBEDTLS_OID_ORG_OIW …
#define MBEDTLS_OID_OIW_SECSIG …
#define MBEDTLS_OID_OIW_SECSIG_ALG …
#define MBEDTLS_OID_OIW_SECSIG_SHA1 …
#define MBEDTLS_OID_ORG_THAWTE …
#define MBEDTLS_OID_THAWTE …
#define MBEDTLS_OID_ORG_CERTICOM …
#define MBEDTLS_OID_CERTICOM …
#define MBEDTLS_OID_ORG_TELETRUST …
#define MBEDTLS_OID_TELETRUST …
#define MBEDTLS_OID_ORGANIZATION …
#define MBEDTLS_OID_ISO_ITU_US_ORG …
#define MBEDTLS_OID_ORG_GOV …
#define MBEDTLS_OID_GOV …
#define MBEDTLS_OID_ORG_NETSCAPE …
#define MBEDTLS_OID_NETSCAPE …
#define MBEDTLS_OID_ID_CE …
#define MBEDTLS_OID_NIST_ALG …
#define MBEDTLS_OID_INTERNET …
#define MBEDTLS_OID_PKIX …
#define MBEDTLS_OID_AT …
#define MBEDTLS_OID_AT_CN …
#define MBEDTLS_OID_AT_SUR_NAME …
#define MBEDTLS_OID_AT_SERIAL_NUMBER …
#define MBEDTLS_OID_AT_COUNTRY …
#define MBEDTLS_OID_AT_LOCALITY …
#define MBEDTLS_OID_AT_STATE …
#define MBEDTLS_OID_AT_ORGANIZATION …
#define MBEDTLS_OID_AT_ORG_UNIT …
#define MBEDTLS_OID_AT_TITLE …
#define MBEDTLS_OID_AT_POSTAL_ADDRESS …
#define MBEDTLS_OID_AT_POSTAL_CODE …
#define MBEDTLS_OID_AT_GIVEN_NAME …
#define MBEDTLS_OID_AT_INITIALS …
#define MBEDTLS_OID_AT_GENERATION_QUALIFIER …
#define MBEDTLS_OID_AT_UNIQUE_IDENTIFIER …
#define MBEDTLS_OID_AT_DN_QUALIFIER …
#define MBEDTLS_OID_AT_PSEUDONYM …
#define MBEDTLS_OID_UID …
#define MBEDTLS_OID_DOMAIN_COMPONENT …
#define MBEDTLS_OID_AUTHORITY_KEY_IDENTIFIER …
#define MBEDTLS_OID_SUBJECT_KEY_IDENTIFIER …
#define MBEDTLS_OID_KEY_USAGE …
#define MBEDTLS_OID_CERTIFICATE_POLICIES …
#define MBEDTLS_OID_POLICY_MAPPINGS …
#define MBEDTLS_OID_SUBJECT_ALT_NAME …
#define MBEDTLS_OID_ISSUER_ALT_NAME …
#define MBEDTLS_OID_SUBJECT_DIRECTORY_ATTRS …
#define MBEDTLS_OID_BASIC_CONSTRAINTS …
#define MBEDTLS_OID_NAME_CONSTRAINTS …
#define MBEDTLS_OID_POLICY_CONSTRAINTS …
#define MBEDTLS_OID_EXTENDED_KEY_USAGE …
#define MBEDTLS_OID_CRL_DISTRIBUTION_POINTS …
#define MBEDTLS_OID_INIHIBIT_ANYPOLICY …
#define MBEDTLS_OID_FRESHEST_CRL …
#define MBEDTLS_OID_ANY_POLICY …
#define MBEDTLS_OID_NS_CERT …
#define MBEDTLS_OID_NS_CERT_TYPE …
#define MBEDTLS_OID_NS_BASE_URL …
#define MBEDTLS_OID_NS_REVOCATION_URL …
#define MBEDTLS_OID_NS_CA_REVOCATION_URL …
#define MBEDTLS_OID_NS_RENEWAL_URL …
#define MBEDTLS_OID_NS_CA_POLICY_URL …
#define MBEDTLS_OID_NS_SSL_SERVER_NAME …
#define MBEDTLS_OID_NS_COMMENT …
#define MBEDTLS_OID_NS_DATA_TYPE …
#define MBEDTLS_OID_NS_CERT_SEQUENCE …
#define MBEDTLS_OID_PRIVATE_KEY_USAGE_PERIOD …
#define MBEDTLS_OID_CRL_NUMBER …
#define MBEDTLS_OID_ANY_EXTENDED_KEY_USAGE …
#define MBEDTLS_OID_KP …
#define MBEDTLS_OID_SERVER_AUTH …
#define MBEDTLS_OID_CLIENT_AUTH …
#define MBEDTLS_OID_CODE_SIGNING …
#define MBEDTLS_OID_EMAIL_PROTECTION …
#define MBEDTLS_OID_TIME_STAMPING …
#define MBEDTLS_OID_OCSP_SIGNING …
#define MBEDTLS_OID_WISUN_FAN …
#define MBEDTLS_OID_ON …
#define MBEDTLS_OID_ON_HW_MODULE_NAME …
#define MBEDTLS_OID_PKCS …
#define MBEDTLS_OID_PKCS1 …
#define MBEDTLS_OID_PKCS5 …
#define MBEDTLS_OID_PKCS7 …
#define MBEDTLS_OID_PKCS9 …
#define MBEDTLS_OID_PKCS12 …
#define MBEDTLS_OID_PKCS1_RSA …
#define MBEDTLS_OID_PKCS1_MD5 …
#define MBEDTLS_OID_PKCS1_SHA1 …
#define MBEDTLS_OID_PKCS1_SHA224 …
#define MBEDTLS_OID_PKCS1_SHA256 …
#define MBEDTLS_OID_PKCS1_SHA384 …
#define MBEDTLS_OID_PKCS1_SHA512 …
#define MBEDTLS_OID_RSA_SHA_OBS …
#define MBEDTLS_OID_PKCS9_EMAIL …
#define MBEDTLS_OID_RSASSA_PSS …
#define MBEDTLS_OID_MGF1 …
#define MBEDTLS_OID_DIGEST_ALG_MD5 …
#define MBEDTLS_OID_DIGEST_ALG_SHA1 …
#define MBEDTLS_OID_DIGEST_ALG_SHA224 …
#define MBEDTLS_OID_DIGEST_ALG_SHA256 …
#define MBEDTLS_OID_DIGEST_ALG_SHA384 …
#define MBEDTLS_OID_DIGEST_ALG_SHA512 …
#define MBEDTLS_OID_DIGEST_ALG_RIPEMD160 …
#define MBEDTLS_OID_DIGEST_ALG_SHA3_224 …
#define MBEDTLS_OID_DIGEST_ALG_SHA3_256 …
#define MBEDTLS_OID_DIGEST_ALG_SHA3_384 …
#define MBEDTLS_OID_DIGEST_ALG_SHA3_512 …
#define MBEDTLS_OID_HMAC_SHA1 …
#define MBEDTLS_OID_HMAC_SHA224 …
#define MBEDTLS_OID_HMAC_SHA256 …
#define MBEDTLS_OID_HMAC_SHA384 …
#define MBEDTLS_OID_HMAC_SHA512 …
#define MBEDTLS_OID_HMAC_SHA3_224 …
#define MBEDTLS_OID_HMAC_SHA3_256 …
#define MBEDTLS_OID_HMAC_SHA3_384 …
#define MBEDTLS_OID_HMAC_SHA3_512 …
#define MBEDTLS_OID_HMAC_RIPEMD160 …
#define MBEDTLS_OID_DES_CBC …
#define MBEDTLS_OID_DES_EDE3_CBC …
#define MBEDTLS_OID_AES …
#define MBEDTLS_OID_AES_128_CBC …
#define MBEDTLS_OID_AES_192_CBC …
#define MBEDTLS_OID_AES_256_CBC …
#define MBEDTLS_OID_AES128_KW …
#define MBEDTLS_OID_AES128_KWP …
#define MBEDTLS_OID_AES192_KW …
#define MBEDTLS_OID_AES192_KWP …
#define MBEDTLS_OID_AES256_KW …
#define MBEDTLS_OID_AES256_KWP …
#define MBEDTLS_OID_PKCS5_PBKDF2 …
#define MBEDTLS_OID_PKCS5_PBES2 …
#define MBEDTLS_OID_PKCS5_PBMAC1 …
#define MBEDTLS_OID_PKCS5_PBE_MD5_DES_CBC …
#define MBEDTLS_OID_PKCS5_PBE_MD5_RC2_CBC …
#define MBEDTLS_OID_PKCS5_PBE_SHA1_DES_CBC …
#define MBEDTLS_OID_PKCS5_PBE_SHA1_RC2_CBC …
#define MBEDTLS_OID_PKCS7_DATA …
#define MBEDTLS_OID_PKCS7_SIGNED_DATA …
#define MBEDTLS_OID_PKCS7_ENVELOPED_DATA …
#define MBEDTLS_OID_PKCS7_SIGNED_AND_ENVELOPED_DATA …
#define MBEDTLS_OID_PKCS7_DIGESTED_DATA …
#define MBEDTLS_OID_PKCS7_ENCRYPTED_DATA …
#define MBEDTLS_OID_PKCS9_CSR_EXT_REQ …
#define MBEDTLS_OID_PKCS12_PBE …
#define MBEDTLS_OID_PKCS12_PBE_SHA1_DES3_EDE_CBC …
#define MBEDTLS_OID_PKCS12_PBE_SHA1_DES2_EDE_CBC …
#define MBEDTLS_OID_PKCS12_PBE_SHA1_RC2_128_CBC …
#define MBEDTLS_OID_PKCS12_PBE_SHA1_RC2_40_CBC …
#define MBEDTLS_OID_EC_ALG_UNRESTRICTED …
#define MBEDTLS_OID_EC_ALG_ECDH …
#define MBEDTLS_OID_EC_GRP_SECP192R1 …
#define MBEDTLS_OID_EC_GRP_SECP224R1 …
#define MBEDTLS_OID_EC_GRP_SECP256R1 …
#define MBEDTLS_OID_EC_GRP_SECP384R1 …
#define MBEDTLS_OID_EC_GRP_SECP521R1 …
#define MBEDTLS_OID_EC_GRP_SECP192K1 …
#define MBEDTLS_OID_EC_GRP_SECP224K1 …
#define MBEDTLS_OID_EC_GRP_SECP256K1 …
#define MBEDTLS_OID_EC_BRAINPOOL_V1 …
#define MBEDTLS_OID_EC_GRP_BP256R1 …
#define MBEDTLS_OID_EC_GRP_BP384R1 …
#define MBEDTLS_OID_EC_GRP_BP512R1 …
#define MBEDTLS_OID_ANSI_X9_62_FIELD_TYPE …
#define MBEDTLS_OID_ANSI_X9_62_PRIME_FIELD …
#define MBEDTLS_OID_ANSI_X9_62_SIG …
#define MBEDTLS_OID_ANSI_X9_62_SIG_SHA2 …
#define MBEDTLS_OID_ECDSA_SHA1 …
#define MBEDTLS_OID_ECDSA_SHA224 …
#define MBEDTLS_OID_ECDSA_SHA256 …
#define MBEDTLS_OID_ECDSA_SHA384 …
#define MBEDTLS_OID_ECDSA_SHA512 …
#define MBEDTLS_OID_X25519 …
#define MBEDTLS_OID_X448 …
#define MBEDTLS_OID_ED25519 …
#define MBEDTLS_OID_ED448 …
#ifdef __cplusplus
extern "C" {
#endif
mbedtls_oid_descriptor_t;
int mbedtls_oid_get_numeric_string(char *buf, size_t size, const mbedtls_asn1_buf *oid);
int mbedtls_oid_from_numeric_string(mbedtls_asn1_buf *oid, const char *oid_str, size_t size);
int mbedtls_oid_get_x509_ext_type(const mbedtls_asn1_buf *oid, int *ext_type);
int mbedtls_oid_get_attr_short_name(const mbedtls_asn1_buf *oid, const char **short_name);
int mbedtls_oid_get_pk_alg(const mbedtls_asn1_buf *oid, mbedtls_pk_type_t *pk_alg);
int mbedtls_oid_get_oid_by_pk_alg(mbedtls_pk_type_t pk_alg,
const char **oid, size_t *olen);
#if defined(MBEDTLS_PK_HAVE_ECC_KEYS)
int mbedtls_oid_get_ec_grp(const mbedtls_asn1_buf *oid, mbedtls_ecp_group_id *grp_id);
int mbedtls_oid_get_oid_by_ec_grp(mbedtls_ecp_group_id grp_id,
const char **oid, size_t *olen);
int mbedtls_oid_get_ec_grp_algid(const mbedtls_asn1_buf *oid, mbedtls_ecp_group_id *grp_id);
int mbedtls_oid_get_oid_by_ec_grp_algid(mbedtls_ecp_group_id grp_id,
const char **oid, size_t *olen);
#endif
int mbedtls_oid_get_sig_alg(const mbedtls_asn1_buf *oid,
mbedtls_md_type_t *md_alg, mbedtls_pk_type_t *pk_alg);
int mbedtls_oid_get_sig_alg_desc(const mbedtls_asn1_buf *oid, const char **desc);
int mbedtls_oid_get_oid_by_sig_alg(mbedtls_pk_type_t pk_alg, mbedtls_md_type_t md_alg,
const char **oid, size_t *olen);
int mbedtls_oid_get_md_hmac(const mbedtls_asn1_buf *oid, mbedtls_md_type_t *md_hmac);
int mbedtls_oid_get_md_alg(const mbedtls_asn1_buf *oid, mbedtls_md_type_t *md_alg);
#if !defined(MBEDTLS_X509_REMOVE_INFO)
int mbedtls_oid_get_extended_key_usage(const mbedtls_asn1_buf *oid, const char **desc);
#endif
int mbedtls_oid_get_certificate_policies(const mbedtls_asn1_buf *oid, const char **desc);
int mbedtls_oid_get_oid_by_md(mbedtls_md_type_t md_alg, const char **oid, size_t *olen);
#if defined(MBEDTLS_CIPHER_C)
int mbedtls_oid_get_cipher_alg(const mbedtls_asn1_buf *oid, mbedtls_cipher_type_t *cipher_alg);
#if defined(MBEDTLS_PKCS12_C)
int mbedtls_oid_get_pkcs12_pbe_alg(const mbedtls_asn1_buf *oid, mbedtls_md_type_t *md_alg,
mbedtls_cipher_type_t *cipher_alg);
#endif
#endif
#ifdef __cplusplus
}
#endif
#endif