Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
oid.h
00001 /** 00002 * \file oid.h 00003 * 00004 * \brief Object Identifier (OID) database 00005 */ 00006 /* 00007 * Copyright (C) 2006-2015, ARM Limited, All Rights Reserved 00008 * SPDX-License-Identifier: Apache-2.0 00009 * 00010 * Licensed under the Apache License, Version 2.0 (the "License"); you may 00011 * not use this file except in compliance with the License. 00012 * You may obtain a copy of the License at 00013 * 00014 * http://www.apache.org/licenses/LICENSE-2.0 00015 * 00016 * Unless required by applicable law or agreed to in writing, software 00017 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 00018 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00019 * See the License for the specific language governing permissions and 00020 * limitations under the License. 00021 * 00022 * This file is part of mbed TLS (https://tls.mbed.org) 00023 */ 00024 #ifndef MBEDTLS_OID_H 00025 #define MBEDTLS_OID_H 00026 00027 #if !defined(MBEDTLS_CONFIG_FILE) 00028 #include "config.h" 00029 #else 00030 #include MBEDTLS_CONFIG_FILE 00031 #endif 00032 00033 #include "asn1.h" 00034 #include "pk.h" 00035 00036 #include <stddef.h> 00037 00038 #if defined(MBEDTLS_CIPHER_C) 00039 #include "cipher.h" 00040 #endif 00041 00042 #if defined(MBEDTLS_MD_C) 00043 #include "md.h" 00044 #endif 00045 00046 #if defined(MBEDTLS_X509_USE_C) || defined(MBEDTLS_X509_CREATE_C) 00047 #include "x509.h" 00048 #endif 00049 00050 #define MBEDTLS_ERR_OID_NOT_FOUND -0x002E /**< OID is not found. */ 00051 #define MBEDTLS_ERR_OID_BUF_TOO_SMALL -0x000B /**< output buffer is too small */ 00052 00053 /* 00054 * Top level OID tuples 00055 */ 00056 #define MBEDTLS_OID_ISO_MEMBER_BODIES "\x2a" /* {iso(1) member-body(2)} */ 00057 #define MBEDTLS_OID_ISO_IDENTIFIED_ORG "\x2b" /* {iso(1) identified-organization(3)} */ 00058 #define MBEDTLS_OID_ISO_CCITT_DS "\x55" /* {joint-iso-ccitt(2) ds(5)} */ 00059 #define MBEDTLS_OID_ISO_ITU_COUNTRY "\x60" /* {joint-iso-itu-t(2) country(16)} */ 00060 00061 /* 00062 * ISO Member bodies OID parts 00063 */ 00064 #define MBEDTLS_OID_COUNTRY_US "\x86\x48" /* {us(840)} */ 00065 #define MBEDTLS_OID_ORG_RSA_DATA_SECURITY "\x86\xf7\x0d" /* {rsadsi(113549)} */ 00066 #define MBEDTLS_OID_RSA_COMPANY MBEDTLS_OID_ISO_MEMBER_BODIES MBEDTLS_OID_COUNTRY_US \ 00067 MBEDTLS_OID_ORG_RSA_DATA_SECURITY /* {iso(1) member-body(2) us(840) rsadsi(113549)} */ 00068 #define MBEDTLS_OID_ORG_ANSI_X9_62 "\xce\x3d" /* ansi-X9-62(10045) */ 00069 #define MBEDTLS_OID_ANSI_X9_62 MBEDTLS_OID_ISO_MEMBER_BODIES MBEDTLS_OID_COUNTRY_US \ 00070 MBEDTLS_OID_ORG_ANSI_X9_62 00071 00072 /* 00073 * ISO Identified organization OID parts 00074 */ 00075 #define MBEDTLS_OID_ORG_DOD "\x06" /* {dod(6)} */ 00076 #define MBEDTLS_OID_ORG_OIW "\x0e" 00077 #define MBEDTLS_OID_OIW_SECSIG MBEDTLS_OID_ORG_OIW "\x03" 00078 #define MBEDTLS_OID_OIW_SECSIG_ALG MBEDTLS_OID_OIW_SECSIG "\x02" 00079 #define MBEDTLS_OID_OIW_SECSIG_SHA1 MBEDTLS_OID_OIW_SECSIG_ALG "\x1a" 00080 #define MBEDTLS_OID_ORG_CERTICOM "\x81\x04" /* certicom(132) */ 00081 #define MBEDTLS_OID_CERTICOM MBEDTLS_OID_ISO_IDENTIFIED_ORG MBEDTLS_OID_ORG_CERTICOM 00082 #define MBEDTLS_OID_ORG_TELETRUST "\x24" /* teletrust(36) */ 00083 #define MBEDTLS_OID_TELETRUST MBEDTLS_OID_ISO_IDENTIFIED_ORG MBEDTLS_OID_ORG_TELETRUST 00084 00085 /* 00086 * ISO ITU OID parts 00087 */ 00088 #define MBEDTLS_OID_ORGANIZATION "\x01" /* {organization(1)} */ 00089 #define MBEDTLS_OID_ISO_ITU_US_ORG MBEDTLS_OID_ISO_ITU_COUNTRY MBEDTLS_OID_COUNTRY_US MBEDTLS_OID_ORGANIZATION /* {joint-iso-itu-t(2) country(16) us(840) organization(1)} */ 00090 00091 #define MBEDTLS_OID_ORG_GOV "\x65" /* {gov(101)} */ 00092 #define MBEDTLS_OID_GOV MBEDTLS_OID_ISO_ITU_US_ORG MBEDTLS_OID_ORG_GOV /* {joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101)} */ 00093 00094 #define MBEDTLS_OID_ORG_NETSCAPE "\x86\xF8\x42" /* {netscape(113730)} */ 00095 #define MBEDTLS_OID_NETSCAPE MBEDTLS_OID_ISO_ITU_US_ORG MBEDTLS_OID_ORG_NETSCAPE /* Netscape OID {joint-iso-itu-t(2) country(16) us(840) organization(1) netscape(113730)} */ 00096 00097 /* ISO arc for standard certificate and CRL extensions */ 00098 #define MBEDTLS_OID_ID_CE MBEDTLS_OID_ISO_CCITT_DS "\x1D" /**< id-ce OBJECT IDENTIFIER ::= {joint-iso-ccitt(2) ds(5) 29} */ 00099 00100 #define MBEDTLS_OID_NIST_ALG MBEDTLS_OID_GOV "\x03\x04" /** { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) nistAlgorithm(4) */ 00101 00102 /** 00103 * Private Internet Extensions 00104 * { iso(1) identified-organization(3) dod(6) internet(1) 00105 * security(5) mechanisms(5) pkix(7) } 00106 */ 00107 #define MBEDTLS_OID_PKIX MBEDTLS_OID_ISO_IDENTIFIED_ORG MBEDTLS_OID_ORG_DOD "\x01\x05\x05\x07" 00108 00109 /* 00110 * Arc for standard naming attributes 00111 */ 00112 #define MBEDTLS_OID_AT MBEDTLS_OID_ISO_CCITT_DS "\x04" /**< id-at OBJECT IDENTIFIER ::= {joint-iso-ccitt(2) ds(5) 4} */ 00113 #define MBEDTLS_OID_AT_CN MBEDTLS_OID_AT "\x03" /**< id-at-commonName AttributeType:= {id-at 3} */ 00114 #define MBEDTLS_OID_AT_SUR_NAME MBEDTLS_OID_AT "\x04" /**< id-at-surName AttributeType:= {id-at 4} */ 00115 #define MBEDTLS_OID_AT_SERIAL_NUMBER MBEDTLS_OID_AT "\x05" /**< id-at-serialNumber AttributeType:= {id-at 5} */ 00116 #define MBEDTLS_OID_AT_COUNTRY MBEDTLS_OID_AT "\x06" /**< id-at-countryName AttributeType:= {id-at 6} */ 00117 #define MBEDTLS_OID_AT_LOCALITY MBEDTLS_OID_AT "\x07" /**< id-at-locality AttributeType:= {id-at 7} */ 00118 #define MBEDTLS_OID_AT_STATE MBEDTLS_OID_AT "\x08" /**< id-at-state AttributeType:= {id-at 8} */ 00119 #define MBEDTLS_OID_AT_ORGANIZATION MBEDTLS_OID_AT "\x0A" /**< id-at-organizationName AttributeType:= {id-at 10} */ 00120 #define MBEDTLS_OID_AT_ORG_UNIT MBEDTLS_OID_AT "\x0B" /**< id-at-organizationalUnitName AttributeType:= {id-at 11} */ 00121 #define MBEDTLS_OID_AT_TITLE MBEDTLS_OID_AT "\x0C" /**< id-at-title AttributeType:= {id-at 12} */ 00122 #define MBEDTLS_OID_AT_POSTAL_ADDRESS MBEDTLS_OID_AT "\x10" /**< id-at-postalAddress AttributeType:= {id-at 16} */ 00123 #define MBEDTLS_OID_AT_POSTAL_CODE MBEDTLS_OID_AT "\x11" /**< id-at-postalCode AttributeType:= {id-at 17} */ 00124 #define MBEDTLS_OID_AT_GIVEN_NAME MBEDTLS_OID_AT "\x2A" /**< id-at-givenName AttributeType:= {id-at 42} */ 00125 #define MBEDTLS_OID_AT_INITIALS MBEDTLS_OID_AT "\x2B" /**< id-at-initials AttributeType:= {id-at 43} */ 00126 #define MBEDTLS_OID_AT_GENERATION_QUALIFIER MBEDTLS_OID_AT "\x2C" /**< id-at-generationQualifier AttributeType:= {id-at 44} */ 00127 #define MBEDTLS_OID_AT_UNIQUE_IDENTIFIER MBEDTLS_OID_AT "\x2D" /**< id-at-uniqueIdentifier AttributType:= {id-at 45} */ 00128 #define MBEDTLS_OID_AT_DN_QUALIFIER MBEDTLS_OID_AT "\x2E" /**< id-at-dnQualifier AttributeType:= {id-at 46} */ 00129 #define MBEDTLS_OID_AT_PSEUDONYM MBEDTLS_OID_AT "\x41" /**< id-at-pseudonym AttributeType:= {id-at 65} */ 00130 00131 #define MBEDTLS_OID_DOMAIN_COMPONENT "\x09\x92\x26\x89\x93\xF2\x2C\x64\x01\x19" /** id-domainComponent AttributeType:= {itu-t(0) data(9) pss(2342) ucl(19200300) pilot(100) pilotAttributeType(1) domainComponent(25)} */ 00132 00133 /* 00134 * OIDs for standard certificate extensions 00135 */ 00136 #define MBEDTLS_OID_AUTHORITY_KEY_IDENTIFIER MBEDTLS_OID_ID_CE "\x23" /**< id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::= { id-ce 35 } */ 00137 #define MBEDTLS_OID_SUBJECT_KEY_IDENTIFIER MBEDTLS_OID_ID_CE "\x0E" /**< id-ce-subjectKeyIdentifier OBJECT IDENTIFIER ::= { id-ce 14 } */ 00138 #define MBEDTLS_OID_KEY_USAGE MBEDTLS_OID_ID_CE "\x0F" /**< id-ce-keyUsage OBJECT IDENTIFIER ::= { id-ce 15 } */ 00139 #define MBEDTLS_OID_CERTIFICATE_POLICIES MBEDTLS_OID_ID_CE "\x20" /**< id-ce-certificatePolicies OBJECT IDENTIFIER ::= { id-ce 32 } */ 00140 #define MBEDTLS_OID_POLICY_MAPPINGS MBEDTLS_OID_ID_CE "\x21" /**< id-ce-policyMappings OBJECT IDENTIFIER ::= { id-ce 33 } */ 00141 #define MBEDTLS_OID_SUBJECT_ALT_NAME MBEDTLS_OID_ID_CE "\x11" /**< id-ce-subjectAltName OBJECT IDENTIFIER ::= { id-ce 17 } */ 00142 #define MBEDTLS_OID_ISSUER_ALT_NAME MBEDTLS_OID_ID_CE "\x12" /**< id-ce-issuerAltName OBJECT IDENTIFIER ::= { id-ce 18 } */ 00143 #define MBEDTLS_OID_SUBJECT_DIRECTORY_ATTRS MBEDTLS_OID_ID_CE "\x09" /**< id-ce-subjectDirectoryAttributes OBJECT IDENTIFIER ::= { id-ce 9 } */ 00144 #define MBEDTLS_OID_BASIC_CONSTRAINTS MBEDTLS_OID_ID_CE "\x13" /**< id-ce-basicConstraints OBJECT IDENTIFIER ::= { id-ce 19 } */ 00145 #define MBEDTLS_OID_NAME_CONSTRAINTS MBEDTLS_OID_ID_CE "\x1E" /**< id-ce-nameConstraints OBJECT IDENTIFIER ::= { id-ce 30 } */ 00146 #define MBEDTLS_OID_POLICY_CONSTRAINTS MBEDTLS_OID_ID_CE "\x24" /**< id-ce-policyConstraints OBJECT IDENTIFIER ::= { id-ce 36 } */ 00147 #define MBEDTLS_OID_EXTENDED_KEY_USAGE MBEDTLS_OID_ID_CE "\x25" /**< id-ce-extKeyUsage OBJECT IDENTIFIER ::= { id-ce 37 } */ 00148 #define MBEDTLS_OID_CRL_DISTRIBUTION_POINTS MBEDTLS_OID_ID_CE "\x1F" /**< id-ce-cRLDistributionPoints OBJECT IDENTIFIER ::= { id-ce 31 } */ 00149 #define MBEDTLS_OID_INIHIBIT_ANYPOLICY MBEDTLS_OID_ID_CE "\x36" /**< id-ce-inhibitAnyPolicy OBJECT IDENTIFIER ::= { id-ce 54 } */ 00150 #define MBEDTLS_OID_FRESHEST_CRL MBEDTLS_OID_ID_CE "\x2E" /**< id-ce-freshestCRL OBJECT IDENTIFIER ::= { id-ce 46 } */ 00151 00152 /* 00153 * Netscape certificate extensions 00154 */ 00155 #define MBEDTLS_OID_NS_CERT MBEDTLS_OID_NETSCAPE "\x01" 00156 #define MBEDTLS_OID_NS_CERT_TYPE MBEDTLS_OID_NS_CERT "\x01" 00157 #define MBEDTLS_OID_NS_BASE_URL MBEDTLS_OID_NS_CERT "\x02" 00158 #define MBEDTLS_OID_NS_REVOCATION_URL MBEDTLS_OID_NS_CERT "\x03" 00159 #define MBEDTLS_OID_NS_CA_REVOCATION_URL MBEDTLS_OID_NS_CERT "\x04" 00160 #define MBEDTLS_OID_NS_RENEWAL_URL MBEDTLS_OID_NS_CERT "\x07" 00161 #define MBEDTLS_OID_NS_CA_POLICY_URL MBEDTLS_OID_NS_CERT "\x08" 00162 #define MBEDTLS_OID_NS_SSL_SERVER_NAME MBEDTLS_OID_NS_CERT "\x0C" 00163 #define MBEDTLS_OID_NS_COMMENT MBEDTLS_OID_NS_CERT "\x0D" 00164 #define MBEDTLS_OID_NS_DATA_TYPE MBEDTLS_OID_NETSCAPE "\x02" 00165 #define MBEDTLS_OID_NS_CERT_SEQUENCE MBEDTLS_OID_NS_DATA_TYPE "\x05" 00166 00167 /* 00168 * OIDs for CRL extensions 00169 */ 00170 #define MBEDTLS_OID_PRIVATE_KEY_USAGE_PERIOD MBEDTLS_OID_ID_CE "\x10" 00171 #define MBEDTLS_OID_CRL_NUMBER MBEDTLS_OID_ID_CE "\x14" /**< id-ce-cRLNumber OBJECT IDENTIFIER ::= { id-ce 20 } */ 00172 00173 /* 00174 * X.509 v3 Extended key usage OIDs 00175 */ 00176 #define MBEDTLS_OID_ANY_EXTENDED_KEY_USAGE MBEDTLS_OID_EXTENDED_KEY_USAGE "\x00" /**< anyExtendedKeyUsage OBJECT IDENTIFIER ::= { id-ce-extKeyUsage 0 } */ 00177 00178 #define MBEDTLS_OID_KP MBEDTLS_OID_PKIX "\x03" /**< id-kp OBJECT IDENTIFIER ::= { id-pkix 3 } */ 00179 #define MBEDTLS_OID_SERVER_AUTH MBEDTLS_OID_KP "\x01" /**< id-kp-serverAuth OBJECT IDENTIFIER ::= { id-kp 1 } */ 00180 #define MBEDTLS_OID_CLIENT_AUTH MBEDTLS_OID_KP "\x02" /**< id-kp-clientAuth OBJECT IDENTIFIER ::= { id-kp 2 } */ 00181 #define MBEDTLS_OID_CODE_SIGNING MBEDTLS_OID_KP "\x03" /**< id-kp-codeSigning OBJECT IDENTIFIER ::= { id-kp 3 } */ 00182 #define MBEDTLS_OID_EMAIL_PROTECTION MBEDTLS_OID_KP "\x04" /**< id-kp-emailProtection OBJECT IDENTIFIER ::= { id-kp 4 } */ 00183 #define MBEDTLS_OID_TIME_STAMPING MBEDTLS_OID_KP "\x08" /**< id-kp-timeStamping OBJECT IDENTIFIER ::= { id-kp 8 } */ 00184 #define MBEDTLS_OID_OCSP_SIGNING MBEDTLS_OID_KP "\x09" /**< id-kp-OCSPSigning OBJECT IDENTIFIER ::= { id-kp 9 } */ 00185 00186 /* 00187 * PKCS definition OIDs 00188 */ 00189 00190 #define MBEDTLS_OID_PKCS MBEDTLS_OID_RSA_COMPANY "\x01" /**< pkcs OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) 1 } */ 00191 #define MBEDTLS_OID_PKCS1 MBEDTLS_OID_PKCS "\x01" /**< pkcs-1 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 1 } */ 00192 #define MBEDTLS_OID_PKCS5 MBEDTLS_OID_PKCS "\x05" /**< pkcs-5 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 5 } */ 00193 #define MBEDTLS_OID_PKCS9 MBEDTLS_OID_PKCS "\x09" /**< pkcs-9 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 9 } */ 00194 #define MBEDTLS_OID_PKCS12 MBEDTLS_OID_PKCS "\x0c" /**< pkcs-12 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 12 } */ 00195 00196 /* 00197 * PKCS#1 OIDs 00198 */ 00199 #define MBEDTLS_OID_PKCS1_RSA MBEDTLS_OID_PKCS1 "\x01" /**< rsaEncryption OBJECT IDENTIFIER ::= { pkcs-1 1 } */ 00200 #define MBEDTLS_OID_PKCS1_MD2 MBEDTLS_OID_PKCS1 "\x02" /**< md2WithRSAEncryption ::= { pkcs-1 2 } */ 00201 #define MBEDTLS_OID_PKCS1_MD4 MBEDTLS_OID_PKCS1 "\x03" /**< md4WithRSAEncryption ::= { pkcs-1 3 } */ 00202 #define MBEDTLS_OID_PKCS1_MD5 MBEDTLS_OID_PKCS1 "\x04" /**< md5WithRSAEncryption ::= { pkcs-1 4 } */ 00203 #define MBEDTLS_OID_PKCS1_SHA1 MBEDTLS_OID_PKCS1 "\x05" /**< sha1WithRSAEncryption ::= { pkcs-1 5 } */ 00204 #define MBEDTLS_OID_PKCS1_SHA224 MBEDTLS_OID_PKCS1 "\x0e" /**< sha224WithRSAEncryption ::= { pkcs-1 14 } */ 00205 #define MBEDTLS_OID_PKCS1_SHA256 MBEDTLS_OID_PKCS1 "\x0b" /**< sha256WithRSAEncryption ::= { pkcs-1 11 } */ 00206 #define MBEDTLS_OID_PKCS1_SHA384 MBEDTLS_OID_PKCS1 "\x0c" /**< sha384WithRSAEncryption ::= { pkcs-1 12 } */ 00207 #define MBEDTLS_OID_PKCS1_SHA512 MBEDTLS_OID_PKCS1 "\x0d" /**< sha512WithRSAEncryption ::= { pkcs-1 13 } */ 00208 00209 #define MBEDTLS_OID_RSA_SHA_OBS "\x2B\x0E\x03\x02\x1D" 00210 00211 #define MBEDTLS_OID_PKCS9_EMAIL MBEDTLS_OID_PKCS9 "\x01" /**< emailAddress AttributeType ::= { pkcs-9 1 } */ 00212 00213 /* RFC 4055 */ 00214 #define MBEDTLS_OID_RSASSA_PSS MBEDTLS_OID_PKCS1 "\x0a" /**< id-RSASSA-PSS ::= { pkcs-1 10 } */ 00215 #define MBEDTLS_OID_MGF1 MBEDTLS_OID_PKCS1 "\x08" /**< id-mgf1 ::= { pkcs-1 8 } */ 00216 00217 /* 00218 * Digest algorithms 00219 */ 00220 #define MBEDTLS_OID_DIGEST_ALG_MD2 MBEDTLS_OID_RSA_COMPANY "\x02\x02" /**< id-mbedtls_md2 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) digestAlgorithm(2) 2 } */ 00221 #define MBEDTLS_OID_DIGEST_ALG_MD4 MBEDTLS_OID_RSA_COMPANY "\x02\x04" /**< id-mbedtls_md4 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) digestAlgorithm(2) 4 } */ 00222 #define MBEDTLS_OID_DIGEST_ALG_MD5 MBEDTLS_OID_RSA_COMPANY "\x02\x05" /**< id-mbedtls_md5 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) digestAlgorithm(2) 5 } */ 00223 #define MBEDTLS_OID_DIGEST_ALG_SHA1 MBEDTLS_OID_ISO_IDENTIFIED_ORG MBEDTLS_OID_OIW_SECSIG_SHA1 /**< id-mbedtls_sha1 OBJECT IDENTIFIER ::= { iso(1) identified-organization(3) oiw(14) secsig(3) algorithms(2) 26 } */ 00224 #define MBEDTLS_OID_DIGEST_ALG_SHA224 MBEDTLS_OID_NIST_ALG "\x02\x04" /**< id-sha224 OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) nistalgorithm(4) hashalgs(2) 4 } */ 00225 #define MBEDTLS_OID_DIGEST_ALG_SHA256 MBEDTLS_OID_NIST_ALG "\x02\x01" /**< id-mbedtls_sha256 OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) nistalgorithm(4) hashalgs(2) 1 } */ 00226 00227 #define MBEDTLS_OID_DIGEST_ALG_SHA384 MBEDTLS_OID_NIST_ALG "\x02\x02" /**< id-sha384 OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) nistalgorithm(4) hashalgs(2) 2 } */ 00228 00229 #define MBEDTLS_OID_DIGEST_ALG_SHA512 MBEDTLS_OID_NIST_ALG "\x02\x03" /**< id-mbedtls_sha512 OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) nistalgorithm(4) hashalgs(2) 3 } */ 00230 00231 #define MBEDTLS_OID_HMAC_SHA1 MBEDTLS_OID_RSA_COMPANY "\x02\x07" /**< id-hmacWithSHA1 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) digestAlgorithm(2) 7 } */ 00232 00233 #define MBEDTLS_OID_HMAC_SHA224 MBEDTLS_OID_RSA_COMPANY "\x02\x08" /**< id-hmacWithSHA224 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) digestAlgorithm(2) 8 } */ 00234 00235 #define MBEDTLS_OID_HMAC_SHA256 MBEDTLS_OID_RSA_COMPANY "\x02\x09" /**< id-hmacWithSHA256 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) digestAlgorithm(2) 9 } */ 00236 00237 #define MBEDTLS_OID_HMAC_SHA384 MBEDTLS_OID_RSA_COMPANY "\x02\x0A" /**< id-hmacWithSHA384 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) digestAlgorithm(2) 10 } */ 00238 00239 #define MBEDTLS_OID_HMAC_SHA512 MBEDTLS_OID_RSA_COMPANY "\x02\x0B" /**< id-hmacWithSHA512 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) digestAlgorithm(2) 11 } */ 00240 00241 /* 00242 * Encryption algorithms 00243 */ 00244 #define MBEDTLS_OID_DES_CBC MBEDTLS_OID_ISO_IDENTIFIED_ORG MBEDTLS_OID_OIW_SECSIG_ALG "\x07" /**< desCBC OBJECT IDENTIFIER ::= { iso(1) identified-organization(3) oiw(14) secsig(3) algorithms(2) 7 } */ 00245 #define MBEDTLS_OID_DES_EDE3_CBC MBEDTLS_OID_RSA_COMPANY "\x03\x07" /**< des-ede3-cbc OBJECT IDENTIFIER ::= { iso(1) member-body(2) -- us(840) rsadsi(113549) encryptionAlgorithm(3) 7 } */ 00246 #define MBEDTLS_OID_AES MBEDTLS_OID_NIST_ALG "\x01" /** aes OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) nistAlgorithm(4) 1 } */ 00247 00248 /* 00249 * Key Wrapping algorithms 00250 */ 00251 /* 00252 * RFC 5649 00253 */ 00254 #define MBEDTLS_OID_AES128_KW MBEDTLS_OID_AES "\x05" /** id-aes128-wrap OBJECT IDENTIFIER ::= { aes 5 } */ 00255 #define MBEDTLS_OID_AES128_KWP MBEDTLS_OID_AES "\x08" /** id-aes128-wrap-pad OBJECT IDENTIFIER ::= { aes 8 } */ 00256 #define MBEDTLS_OID_AES192_KW MBEDTLS_OID_AES "\x19" /** id-aes192-wrap OBJECT IDENTIFIER ::= { aes 25 } */ 00257 #define MBEDTLS_OID_AES192_KWP MBEDTLS_OID_AES "\x1c" /** id-aes192-wrap-pad OBJECT IDENTIFIER ::= { aes 28 } */ 00258 #define MBEDTLS_OID_AES256_KW MBEDTLS_OID_AES "\x2d" /** id-aes256-wrap OBJECT IDENTIFIER ::= { aes 45 } */ 00259 #define MBEDTLS_OID_AES256_KWP MBEDTLS_OID_AES "\x30" /** id-aes256-wrap-pad OBJECT IDENTIFIER ::= { aes 48 } */ 00260 /* 00261 * PKCS#5 OIDs 00262 */ 00263 #define MBEDTLS_OID_PKCS5_PBKDF2 MBEDTLS_OID_PKCS5 "\x0c" /**< id-PBKDF2 OBJECT IDENTIFIER ::= {pkcs-5 12} */ 00264 #define MBEDTLS_OID_PKCS5_PBES2 MBEDTLS_OID_PKCS5 "\x0d" /**< id-PBES2 OBJECT IDENTIFIER ::= {pkcs-5 13} */ 00265 #define MBEDTLS_OID_PKCS5_PBMAC1 MBEDTLS_OID_PKCS5 "\x0e" /**< id-PBMAC1 OBJECT IDENTIFIER ::= {pkcs-5 14} */ 00266 00267 /* 00268 * PKCS#5 PBES1 algorithms 00269 */ 00270 #define MBEDTLS_OID_PKCS5_PBE_MD2_DES_CBC MBEDTLS_OID_PKCS5 "\x01" /**< pbeWithMD2AndDES-CBC OBJECT IDENTIFIER ::= {pkcs-5 1} */ 00271 #define MBEDTLS_OID_PKCS5_PBE_MD2_RC2_CBC MBEDTLS_OID_PKCS5 "\x04" /**< pbeWithMD2AndRC2-CBC OBJECT IDENTIFIER ::= {pkcs-5 4} */ 00272 #define MBEDTLS_OID_PKCS5_PBE_MD5_DES_CBC MBEDTLS_OID_PKCS5 "\x03" /**< pbeWithMD5AndDES-CBC OBJECT IDENTIFIER ::= {pkcs-5 3} */ 00273 #define MBEDTLS_OID_PKCS5_PBE_MD5_RC2_CBC MBEDTLS_OID_PKCS5 "\x06" /**< pbeWithMD5AndRC2-CBC OBJECT IDENTIFIER ::= {pkcs-5 6} */ 00274 #define MBEDTLS_OID_PKCS5_PBE_SHA1_DES_CBC MBEDTLS_OID_PKCS5 "\x0a" /**< pbeWithSHA1AndDES-CBC OBJECT IDENTIFIER ::= {pkcs-5 10} */ 00275 #define MBEDTLS_OID_PKCS5_PBE_SHA1_RC2_CBC MBEDTLS_OID_PKCS5 "\x0b" /**< pbeWithSHA1AndRC2-CBC OBJECT IDENTIFIER ::= {pkcs-5 11} */ 00276 00277 /* 00278 * PKCS#8 OIDs 00279 */ 00280 #define MBEDTLS_OID_PKCS9_CSR_EXT_REQ MBEDTLS_OID_PKCS9 "\x0e" /**< extensionRequest OBJECT IDENTIFIER ::= {pkcs-9 14} */ 00281 00282 /* 00283 * PKCS#12 PBE OIDs 00284 */ 00285 #define MBEDTLS_OID_PKCS12_PBE MBEDTLS_OID_PKCS12 "\x01" /**< pkcs-12PbeIds OBJECT IDENTIFIER ::= {pkcs-12 1} */ 00286 00287 #define MBEDTLS_OID_PKCS12_PBE_SHA1_RC4_128 MBEDTLS_OID_PKCS12_PBE "\x01" /**< pbeWithSHAAnd128BitRC4 OBJECT IDENTIFIER ::= {pkcs-12PbeIds 1} */ 00288 #define MBEDTLS_OID_PKCS12_PBE_SHA1_RC4_40 MBEDTLS_OID_PKCS12_PBE "\x02" /**< pbeWithSHAAnd40BitRC4 OBJECT IDENTIFIER ::= {pkcs-12PbeIds 2} */ 00289 #define MBEDTLS_OID_PKCS12_PBE_SHA1_DES3_EDE_CBC MBEDTLS_OID_PKCS12_PBE "\x03" /**< pbeWithSHAAnd3-KeyTripleDES-CBC OBJECT IDENTIFIER ::= {pkcs-12PbeIds 3} */ 00290 #define MBEDTLS_OID_PKCS12_PBE_SHA1_DES2_EDE_CBC MBEDTLS_OID_PKCS12_PBE "\x04" /**< pbeWithSHAAnd2-KeyTripleDES-CBC OBJECT IDENTIFIER ::= {pkcs-12PbeIds 4} */ 00291 #define MBEDTLS_OID_PKCS12_PBE_SHA1_RC2_128_CBC MBEDTLS_OID_PKCS12_PBE "\x05" /**< pbeWithSHAAnd128BitRC2-CBC OBJECT IDENTIFIER ::= {pkcs-12PbeIds 5} */ 00292 #define MBEDTLS_OID_PKCS12_PBE_SHA1_RC2_40_CBC MBEDTLS_OID_PKCS12_PBE "\x06" /**< pbeWithSHAAnd40BitRC2-CBC OBJECT IDENTIFIER ::= {pkcs-12PbeIds 6} */ 00293 00294 /* 00295 * EC key algorithms from RFC 5480 00296 */ 00297 00298 /* id-ecPublicKey OBJECT IDENTIFIER ::= { 00299 * iso(1) member-body(2) us(840) ansi-X9-62(10045) keyType(2) 1 } */ 00300 #define MBEDTLS_OID_EC_ALG_UNRESTRICTED MBEDTLS_OID_ANSI_X9_62 "\x02\01" 00301 00302 /* id-ecDH OBJECT IDENTIFIER ::= { 00303 * iso(1) identified-organization(3) certicom(132) 00304 * schemes(1) ecdh(12) } */ 00305 #define MBEDTLS_OID_EC_ALG_ECDH MBEDTLS_OID_CERTICOM "\x01\x0c" 00306 00307 /* 00308 * ECParameters namedCurve identifiers, from RFC 5480, RFC 5639, and SEC2 00309 */ 00310 00311 /* secp192r1 OBJECT IDENTIFIER ::= { 00312 * iso(1) member-body(2) us(840) ansi-X9-62(10045) curves(3) prime(1) 1 } */ 00313 #define MBEDTLS_OID_EC_GRP_SECP192R1 MBEDTLS_OID_ANSI_X9_62 "\x03\x01\x01" 00314 00315 /* secp224r1 OBJECT IDENTIFIER ::= { 00316 * iso(1) identified-organization(3) certicom(132) curve(0) 33 } */ 00317 #define MBEDTLS_OID_EC_GRP_SECP224R1 MBEDTLS_OID_CERTICOM "\x00\x21" 00318 00319 /* secp256r1 OBJECT IDENTIFIER ::= { 00320 * iso(1) member-body(2) us(840) ansi-X9-62(10045) curves(3) prime(1) 7 } */ 00321 #define MBEDTLS_OID_EC_GRP_SECP256R1 MBEDTLS_OID_ANSI_X9_62 "\x03\x01\x07" 00322 00323 /* secp384r1 OBJECT IDENTIFIER ::= { 00324 * iso(1) identified-organization(3) certicom(132) curve(0) 34 } */ 00325 #define MBEDTLS_OID_EC_GRP_SECP384R1 MBEDTLS_OID_CERTICOM "\x00\x22" 00326 00327 /* secp521r1 OBJECT IDENTIFIER ::= { 00328 * iso(1) identified-organization(3) certicom(132) curve(0) 35 } */ 00329 #define MBEDTLS_OID_EC_GRP_SECP521R1 MBEDTLS_OID_CERTICOM "\x00\x23" 00330 00331 /* secp192k1 OBJECT IDENTIFIER ::= { 00332 * iso(1) identified-organization(3) certicom(132) curve(0) 31 } */ 00333 #define MBEDTLS_OID_EC_GRP_SECP192K1 MBEDTLS_OID_CERTICOM "\x00\x1f" 00334 00335 /* secp224k1 OBJECT IDENTIFIER ::= { 00336 * iso(1) identified-organization(3) certicom(132) curve(0) 32 } */ 00337 #define MBEDTLS_OID_EC_GRP_SECP224K1 MBEDTLS_OID_CERTICOM "\x00\x20" 00338 00339 /* secp256k1 OBJECT IDENTIFIER ::= { 00340 * iso(1) identified-organization(3) certicom(132) curve(0) 10 } */ 00341 #define MBEDTLS_OID_EC_GRP_SECP256K1 MBEDTLS_OID_CERTICOM "\x00\x0a" 00342 00343 /* RFC 5639 4.1 00344 * ecStdCurvesAndGeneration OBJECT IDENTIFIER::= {iso(1) 00345 * identified-organization(3) teletrust(36) algorithm(3) signature- 00346 * algorithm(3) ecSign(2) 8} 00347 * ellipticCurve OBJECT IDENTIFIER ::= {ecStdCurvesAndGeneration 1} 00348 * versionOne OBJECT IDENTIFIER ::= {ellipticCurve 1} */ 00349 #define MBEDTLS_OID_EC_BRAINPOOL_V1 MBEDTLS_OID_TELETRUST "\x03\x03\x02\x08\x01\x01" 00350 00351 /* brainpoolP256r1 OBJECT IDENTIFIER ::= {versionOne 7} */ 00352 #define MBEDTLS_OID_EC_GRP_BP256R1 MBEDTLS_OID_EC_BRAINPOOL_V1 "\x07" 00353 00354 /* brainpoolP384r1 OBJECT IDENTIFIER ::= {versionOne 11} */ 00355 #define MBEDTLS_OID_EC_GRP_BP384R1 MBEDTLS_OID_EC_BRAINPOOL_V1 "\x0B" 00356 00357 /* brainpoolP512r1 OBJECT IDENTIFIER ::= {versionOne 13} */ 00358 #define MBEDTLS_OID_EC_GRP_BP512R1 MBEDTLS_OID_EC_BRAINPOOL_V1 "\x0D" 00359 00360 /* 00361 * SEC1 C.1 00362 * 00363 * prime-field OBJECT IDENTIFIER ::= { id-fieldType 1 } 00364 * id-fieldType OBJECT IDENTIFIER ::= { ansi-X9-62 fieldType(1)} 00365 */ 00366 #define MBEDTLS_OID_ANSI_X9_62_FIELD_TYPE MBEDTLS_OID_ANSI_X9_62 "\x01" 00367 #define MBEDTLS_OID_ANSI_X9_62_PRIME_FIELD MBEDTLS_OID_ANSI_X9_62_FIELD_TYPE "\x01" 00368 00369 /* 00370 * ECDSA signature identifiers, from RFC 5480 00371 */ 00372 #define MBEDTLS_OID_ANSI_X9_62_SIG MBEDTLS_OID_ANSI_X9_62 "\x04" /* signatures(4) */ 00373 #define MBEDTLS_OID_ANSI_X9_62_SIG_SHA2 MBEDTLS_OID_ANSI_X9_62_SIG "\x03" /* ecdsa-with-SHA2(3) */ 00374 00375 /* ecdsa-with-SHA1 OBJECT IDENTIFIER ::= { 00376 * iso(1) member-body(2) us(840) ansi-X9-62(10045) signatures(4) 1 } */ 00377 #define MBEDTLS_OID_ECDSA_SHA1 MBEDTLS_OID_ANSI_X9_62_SIG "\x01" 00378 00379 /* ecdsa-with-SHA224 OBJECT IDENTIFIER ::= { 00380 * iso(1) member-body(2) us(840) ansi-X9-62(10045) signatures(4) 00381 * ecdsa-with-SHA2(3) 1 } */ 00382 #define MBEDTLS_OID_ECDSA_SHA224 MBEDTLS_OID_ANSI_X9_62_SIG_SHA2 "\x01" 00383 00384 /* ecdsa-with-SHA256 OBJECT IDENTIFIER ::= { 00385 * iso(1) member-body(2) us(840) ansi-X9-62(10045) signatures(4) 00386 * ecdsa-with-SHA2(3) 2 } */ 00387 #define MBEDTLS_OID_ECDSA_SHA256 MBEDTLS_OID_ANSI_X9_62_SIG_SHA2 "\x02" 00388 00389 /* ecdsa-with-SHA384 OBJECT IDENTIFIER ::= { 00390 * iso(1) member-body(2) us(840) ansi-X9-62(10045) signatures(4) 00391 * ecdsa-with-SHA2(3) 3 } */ 00392 #define MBEDTLS_OID_ECDSA_SHA384 MBEDTLS_OID_ANSI_X9_62_SIG_SHA2 "\x03" 00393 00394 /* ecdsa-with-SHA512 OBJECT IDENTIFIER ::= { 00395 * iso(1) member-body(2) us(840) ansi-X9-62(10045) signatures(4) 00396 * ecdsa-with-SHA2(3) 4 } */ 00397 #define MBEDTLS_OID_ECDSA_SHA512 MBEDTLS_OID_ANSI_X9_62_SIG_SHA2 "\x04" 00398 00399 #ifdef __cplusplus 00400 extern "C" { 00401 #endif 00402 00403 /** 00404 * \brief Base OID descriptor structure 00405 */ 00406 typedef struct mbedtls_oid_descriptor_t 00407 { 00408 const char *asn1 ; /*!< OID ASN.1 representation */ 00409 size_t asn1_len ; /*!< length of asn1 */ 00410 const char *name ; /*!< official name (e.g. from RFC) */ 00411 const char *description ; /*!< human friendly description */ 00412 } mbedtls_oid_descriptor_t; 00413 00414 /** 00415 * \brief Translate an ASN.1 OID into its numeric representation 00416 * (e.g. "\x2A\x86\x48\x86\xF7\x0D" into "1.2.840.113549") 00417 * 00418 * \param buf buffer to put representation in 00419 * \param size size of the buffer 00420 * \param oid OID to translate 00421 * 00422 * \return Length of the string written (excluding final NULL) or 00423 * MBEDTLS_ERR_OID_BUF_TOO_SMALL in case of error 00424 */ 00425 int mbedtls_oid_get_numeric_string( char *buf, size_t size, const mbedtls_asn1_buf *oid ); 00426 00427 #if defined(MBEDTLS_X509_USE_C) || defined(MBEDTLS_X509_CREATE_C) 00428 /** 00429 * \brief Translate an X.509 extension OID into local values 00430 * 00431 * \param oid OID to use 00432 * \param ext_type place to store the extension type 00433 * 00434 * \return 0 if successful, or MBEDTLS_ERR_OID_NOT_FOUND 00435 */ 00436 int mbedtls_oid_get_x509_ext_type( const mbedtls_asn1_buf *oid, int *ext_type ); 00437 #endif 00438 00439 /** 00440 * \brief Translate an X.509 attribute type OID into the short name 00441 * (e.g. the OID for an X520 Common Name into "CN") 00442 * 00443 * \param oid OID to use 00444 * \param short_name place to store the string pointer 00445 * 00446 * \return 0 if successful, or MBEDTLS_ERR_OID_NOT_FOUND 00447 */ 00448 int mbedtls_oid_get_attr_short_name( const mbedtls_asn1_buf *oid, const char **short_name ); 00449 00450 /** 00451 * \brief Translate PublicKeyAlgorithm OID into pk_type 00452 * 00453 * \param oid OID to use 00454 * \param pk_alg place to store public key algorithm 00455 * 00456 * \return 0 if successful, or MBEDTLS_ERR_OID_NOT_FOUND 00457 */ 00458 int mbedtls_oid_get_pk_alg( const mbedtls_asn1_buf *oid, mbedtls_pk_type_t *pk_alg ); 00459 00460 /** 00461 * \brief Translate pk_type into PublicKeyAlgorithm OID 00462 * 00463 * \param pk_alg Public key type to look for 00464 * \param oid place to store ASN.1 OID string pointer 00465 * \param olen length of the OID 00466 * 00467 * \return 0 if successful, or MBEDTLS_ERR_OID_NOT_FOUND 00468 */ 00469 int mbedtls_oid_get_oid_by_pk_alg( mbedtls_pk_type_t pk_alg, 00470 const char **oid, size_t *olen ); 00471 00472 #if defined(MBEDTLS_ECP_C) 00473 /** 00474 * \brief Translate NamedCurve OID into an EC group identifier 00475 * 00476 * \param oid OID to use 00477 * \param grp_id place to store group id 00478 * 00479 * \return 0 if successful, or MBEDTLS_ERR_OID_NOT_FOUND 00480 */ 00481 int mbedtls_oid_get_ec_grp( const mbedtls_asn1_buf *oid, mbedtls_ecp_group_id *grp_id ); 00482 00483 /** 00484 * \brief Translate EC group identifier into NamedCurve OID 00485 * 00486 * \param grp_id EC group identifier 00487 * \param oid place to store ASN.1 OID string pointer 00488 * \param olen length of the OID 00489 * 00490 * \return 0 if successful, or MBEDTLS_ERR_OID_NOT_FOUND 00491 */ 00492 int mbedtls_oid_get_oid_by_ec_grp( mbedtls_ecp_group_id grp_id, 00493 const char **oid, size_t *olen ); 00494 #endif /* MBEDTLS_ECP_C */ 00495 00496 #if defined(MBEDTLS_MD_C) 00497 /** 00498 * \brief Translate SignatureAlgorithm OID into md_type and pk_type 00499 * 00500 * \param oid OID to use 00501 * \param md_alg place to store message digest algorithm 00502 * \param pk_alg place to store public key algorithm 00503 * 00504 * \return 0 if successful, or MBEDTLS_ERR_OID_NOT_FOUND 00505 */ 00506 int mbedtls_oid_get_sig_alg( const mbedtls_asn1_buf *oid, 00507 mbedtls_md_type_t *md_alg, mbedtls_pk_type_t *pk_alg ); 00508 00509 /** 00510 * \brief Translate SignatureAlgorithm OID into description 00511 * 00512 * \param oid OID to use 00513 * \param desc place to store string pointer 00514 * 00515 * \return 0 if successful, or MBEDTLS_ERR_OID_NOT_FOUND 00516 */ 00517 int mbedtls_oid_get_sig_alg_desc( const mbedtls_asn1_buf *oid, const char **desc ); 00518 00519 /** 00520 * \brief Translate md_type and pk_type into SignatureAlgorithm OID 00521 * 00522 * \param md_alg message digest algorithm 00523 * \param pk_alg public key algorithm 00524 * \param oid place to store ASN.1 OID string pointer 00525 * \param olen length of the OID 00526 * 00527 * \return 0 if successful, or MBEDTLS_ERR_OID_NOT_FOUND 00528 */ 00529 int mbedtls_oid_get_oid_by_sig_alg( mbedtls_pk_type_t pk_alg, mbedtls_md_type_t md_alg, 00530 const char **oid, size_t *olen ); 00531 00532 /** 00533 * \brief Translate hash algorithm OID into md_type 00534 * 00535 * \param oid OID to use 00536 * \param md_alg place to store message digest algorithm 00537 * 00538 * \return 0 if successful, or MBEDTLS_ERR_OID_NOT_FOUND 00539 */ 00540 int mbedtls_oid_get_md_alg( const mbedtls_asn1_buf *oid, mbedtls_md_type_t *md_alg ); 00541 00542 /** 00543 * \brief Translate hmac algorithm OID into md_type 00544 * 00545 * \param oid OID to use 00546 * \param md_hmac place to store message hmac algorithm 00547 * 00548 * \return 0 if successful, or MBEDTLS_ERR_OID_NOT_FOUND 00549 */ 00550 int mbedtls_oid_get_md_hmac( const mbedtls_asn1_buf *oid, mbedtls_md_type_t *md_hmac ); 00551 #endif /* MBEDTLS_MD_C */ 00552 00553 /** 00554 * \brief Translate Extended Key Usage OID into description 00555 * 00556 * \param oid OID to use 00557 * \param desc place to store string pointer 00558 * 00559 * \return 0 if successful, or MBEDTLS_ERR_OID_NOT_FOUND 00560 */ 00561 int mbedtls_oid_get_extended_key_usage( const mbedtls_asn1_buf *oid, const char **desc ); 00562 00563 /** 00564 * \brief Translate md_type into hash algorithm OID 00565 * 00566 * \param md_alg message digest algorithm 00567 * \param oid place to store ASN.1 OID string pointer 00568 * \param olen length of the OID 00569 * 00570 * \return 0 if successful, or MBEDTLS_ERR_OID_NOT_FOUND 00571 */ 00572 int mbedtls_oid_get_oid_by_md( mbedtls_md_type_t md_alg, const char **oid, size_t *olen ); 00573 00574 #if defined(MBEDTLS_CIPHER_C) 00575 /** 00576 * \brief Translate encryption algorithm OID into cipher_type 00577 * 00578 * \param oid OID to use 00579 * \param cipher_alg place to store cipher algorithm 00580 * 00581 * \return 0 if successful, or MBEDTLS_ERR_OID_NOT_FOUND 00582 */ 00583 int mbedtls_oid_get_cipher_alg( const mbedtls_asn1_buf *oid, mbedtls_cipher_type_t *cipher_alg ); 00584 #endif /* MBEDTLS_CIPHER_C */ 00585 00586 #if defined(MBEDTLS_PKCS12_C) 00587 /** 00588 * \brief Translate PKCS#12 PBE algorithm OID into md_type and 00589 * cipher_type 00590 * 00591 * \param oid OID to use 00592 * \param md_alg place to store message digest algorithm 00593 * \param cipher_alg place to store cipher algorithm 00594 * 00595 * \return 0 if successful, or MBEDTLS_ERR_OID_NOT_FOUND 00596 */ 00597 int mbedtls_oid_get_pkcs12_pbe_alg( const mbedtls_asn1_buf *oid, mbedtls_md_type_t *md_alg, 00598 mbedtls_cipher_type_t *cipher_alg ); 00599 #endif /* MBEDTLS_PKCS12_C */ 00600 00601 #ifdef __cplusplus 00602 } 00603 #endif 00604 00605 #endif /* oid.h */
Generated on Tue Jul 12 2022 13:53:30 by
