* This file is part of the openHiTLS project.
*
* openHiTLS is licensed under the Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
*
* http://license.coscl.org.cn/MulanPSL2
*
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
*/
* @defgroup bsl_obj
* @ingroup bsl
* @brief object module
*/
#ifndef BSL_OBJ_H
#define BSL_OBJ_H
#include <stdbool.h>
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
* @ingroup bsl_obj
* All algorithm ID
*/
typedef enum {
BSL_CID_UNKNOWN = 0,
BSL_CID_RC4 = 1,
BSL_CID_DES_ECB = 2,
BSL_CID_DES_CBC = 3,
BSL_CID_DES_OFB = 4,
BSL_CID_DES_CFB = 5,
BSL_CID_SCB2_128_ECB = 6,
BSL_CID_SCB2_128_CBC = 7,
BSL_CID_SCB2_256_ECB = 8,
BSL_CID_SCB2_256_CBC = 9,
BSL_CID_DES_EDE_ECB = 10,
BSL_CID_DES_EDE_CBC = 11,
BSL_CID_DES_EDE_OFB = 12,
BSL_CID_DES_EDE_CFB = 13,
BSL_CID_DES_EDE3_ECB = 14,
BSL_CID_DES_EDE3_CBC = 15,
BSL_CID_DES_EDE3_OFB = 16,
BSL_CID_DES_EDE3_CFB = 17,
BSL_CID_AES128_ECB = 18,
BSL_CID_AES128_CBC = 19,
BSL_CID_AES128_OFB = 20,
BSL_CID_AES128_CFB = 21,
BSL_CID_AES192_ECB = 22,
BSL_CID_AES192_CBC = 23,
BSL_CID_AES192_OFB = 24,
BSL_CID_AES192_CFB = 25,
BSL_CID_AES256_ECB = 26,
BSL_CID_AES256_CBC = 27,
BSL_CID_AES256_OFB = 28,
BSL_CID_AES256_CFB = 29,
BSL_CID_KASUMI_ECB = 30,
BSL_CID_KASUMI_CBC = 31,
BSL_CID_KASUMI_OFB = 32,
BSL_CID_KASUMI_CFB = 33,
BSL_CID_RSA = 34,
BSL_CID_DSA = 35,
BSL_CID_ECDSA = 36,
BSL_CID_ECDSA192 = 37,
BSL_CID_DH = 38,
BSL_CID_ECDH = 39,
BSL_CID_MD5 = 40,
BSL_CID_SHA1 = 41,
BSL_CID_SHA224 = 42,
BSL_CID_SHA256 = 43,
BSL_CID_SHA384 = 44,
BSL_CID_SHA512 = 45,
BSL_CID_HMAC_MD5 = 46,
BSL_CID_HMAC_SHA1 = 47,
BSL_CID_HMAC_SHA224 = 48,
BSL_CID_HMAC_SHA256 = 49,
BSL_CID_HMAC_SHA384 = 50,
BSL_CID_HMAC_SHA512 = 51,
BSL_CID_MD5WITHRSA = 52,
BSL_CID_SHA1WITHRSA = 53,
BSL_CID_SHA1WITHRSAOLD = 54,
BSL_CID_DSAWITHSHA1 = 55,
BSL_CID_DSAWITHSHA1_2 = 56,
BSL_CID_ECDSAWITHSHA1 = 57,
BSL_CID_ECDSAWITHSHA224 = 58,
BSL_CID_ECDSAWITHSHA256 = 59,
BSL_CID_ECDSAWITHSHA384 = 60,
BSL_CID_ECDSAWITHSHA512 = 61,
BSL_CID_ECDSA192WITHSHA256 = 62,
BSL_CID_SHA256WITHRSAENCRYPTION = 63,
BSL_CID_SHA384WITHRSAENCRYPTION = 64,
BSL_CID_SHA512WITHRSAENCRYPTION = 65,
BSL_CID_KEYEXCHANGEALGORITHM = 66,
BSL_CID_PKCS1 = 67,
BSL_CID_ANSI_X9_62 = 68,
BSL_CID_ECSIGTYPE = 69,
BSL_CID_FIELDTYPE = 70,
BSL_CID_PRIME_FIELD = 71,
BSL_CID_CHARACTERISTIC_TWO_FIELD = 72,
BSL_CID_CHARACTERISTIC_TWO_BASIS = 73,
BSL_CID_GNBASIS = 74,
BSL_CID_TPBASIS = 75,
BSL_CID_PPBASIS = 76,
BSL_CID_PUBLICKEYTYPE = 77,
BSL_CID_ELLIPTICCURVE = 78,
BSL_CID_C_TWOCURVE = 79,
BSL_CID_C2PNB163V1 = 80,
BSL_CID_C2PNB163V2 = 81,
BSL_CID_C2PNB163V3 = 82,
BSL_CID_C2PNB176W1 = 83,
BSL_CID_C2TNB191V1 = 84,
BSL_CID_C2TNB191V2 = 85,
BSL_CID_C2TNB191V3 = 86,
BSL_CID_C2ONB191V4 = 87,
BSL_CID_C2ONB191V5 = 88,
BSL_CID_C2PNB208W1 = 89,
BSL_CID_C2TNB239V1 = 90,
BSL_CID_C2TNB239V2 = 91,
BSL_CID_C2TNB239V3 = 92,
BSL_CID_C2ONB239V4 = 93,
BSL_CID_C2ONB239V5 = 94,
BSL_CID_C2PNB272W1 = 95,
BSL_CID_C2PNB304W1 = 96,
BSL_CID_C2TNB359V1 = 97,
BSL_CID_C2PNB368W1 = 98,
BSL_CID_C2TNB431R1 = 99,
BSL_CID_PRIMECURVE = 100,
BSL_CID_PRIME192V1 = 101,
BSL_CID_PRIME192V2 = 102,
BSL_CID_PRIME192V3 = 103,
BSL_CID_PRIME239V1 = 104,
BSL_CID_PRIME239V2 = 105,
BSL_CID_PRIME239V3 = 106,
BSL_CID_PRIME256V1 = 107,
BSL_CID_VERISIGN = 108,
BSL_CID_PKI = 109,
BSL_CID_ATTRIBUTES = 110,
BSL_CID_MESSAGETYPE = 111,
BSL_CID_PKISTATUS = 112,
BSL_CID_FAILINFO = 113,
BSL_CID_SENDERNONCE = 114,
BSL_CID_RECIPIENTNONCE = 115,
BSL_CID_TRANSID = 116,
BSL_CID_EXTENSIONREQ = 117,
BSL_CID_RSADSI = 118,
BSL_CID_PKCS = 119,
BSL_CID_PKCS5 = 120,
BSL_CID_PBKDF2 = 121,
BSL_CID_PBE_MD2WITHDESCBC = 122,
BSL_CID_PBE_MD2WITHRC2CBC = 123,
BSL_CID_PBE_MD5WITHDESCBC = 124,
BSL_CID_PBE_MD5WITHRC2CBC = 125,
BSL_CID_PBE_SHA1WITHDESCBC = 126,
BSL_CID_PBE_SHA1WITHRC2CBC = 127,
BSL_CID_PBES2 = 128,
BSL_CID_PBMAC1 = 129,
BSL_CID_DIGESTALGORITHM = 130,
BSL_CID_ENCRYPTIONALGORITHM = 131,
BSL_CID_RC2CBC = 132,
BSL_CID_RC5_CBC_PAD = 133,
BSL_CID_RSAES_OAEP = 134,
BSL_CID_PKIX_OCSP_BASIC = 135,
BSL_CID_PKIX_OCSP_NONCE = 136,
BSL_CID_PKIX_OCSP_CRL = 137,
BSL_CID_PKIX_OCSP_RESPONSE = 138,
BSL_CID_PKIX_OCSP_NOCHECK = 139,
BSL_CID_PKIX_OCSP_ARCHIVE_CUTOFF = 140,
BSL_CID_PKIX_OCSP_SERVICE_LOCATOR = 141,
BSL_CID_CHALLENGE_PWD_ATTR = 142,
BSL_CID_EXTENSIONREQUEST = 143,
BSL_CID_PKIX = 144,
BSL_CID_PE = 145,
BSL_CID_QT = 146,
BSL_CID_KP = 147,
BSL_CID_AD = 148,
BSL_CID_QT_CPS = 149,
BSL_CID_QT_UNOTICE = 150,
BSL_CID_AD_OCSP = 151,
BSL_CID_AD_CAISSUERS = 152,
BSL_CID_AD_TIMESTAMPING = 153,
BSL_CID_AD_CAREPOSITORY = 154,
BSL_CID_AT = 155,
BSL_CID_AT_NAME = 156,
BSL_CID_AT_SURNAME = 157,
BSL_CID_AT_GIVENNAME = 158,
BSL_CID_AT_INITIALS = 159,
BSL_CID_AT_GENERATIONQUALIFIER = 160,
BSL_CID_AT_COMMONNAME = 161,
BSL_CID_AT_LOCALITYNAME = 162,
BSL_CID_AT_STATEORPROVINCENAME = 163,
BSL_CID_AT_ORGANIZATIONNAME = 164,
BSL_CID_AT_ORGANIZATIONALUNITNAME = 165,
BSL_CID_AT_TITLE = 166,
BSL_CID_AT_DNQUALIFIER = 167,
BSL_CID_AT_COUNTRYNAME = 168,
BSL_CID_AT_SERIALNUMBER = 169,
BSL_CID_AT_PSEUDONYM = 170,
BSL_CID_DOMAINCOMPONENT = 171,
BSL_CID_EMAILADDRESS = 172,
BSL_CID_CE = 173,
BSL_CID_CE_AUTHORITYKEYIDENTIFIER = 174,
BSL_CID_CE_SUBJECTKEYIDENTIFIER = 175,
BSL_CID_CE_KEYUSAGE = 176,
BSL_CID_CE_PRIVATEKEYUSAGEPERIOD = 177,
BSL_CID_CE_CERTIFICATEPOLICIES = 178,
BSL_CID_ANYPOLICY = 179,
BSL_CID_CE_POLICYMAPPINGS = 180,
BSL_CID_CE_SUBJECTALTNAME = 181,
BSL_CID_CE_ISSUERALTNAME = 182,
BSL_CID_CE_SUBJECTDIRECTORYATTRIBUTES = 183,
BSL_CID_CE_BASICCONSTRAINTS = 184,
BSL_CID_CE_NAMECONSTRAINTS = 185,
BSL_CID_CE_POLICYCONSTRAINTS = 186,
BSL_CID_CE_CRLDISTRIBUTIONPOINTS = 187,
BSL_CID_CE_EXTKEYUSAGE = 188,
BSL_CID_ANYEXTENDEDKEYUSAGE = 189,
BSL_CID_KP_SERVERAUTH = 190,
BSL_CID_KP_CLIENTAUTH = 191,
BSL_CID_KP_CODESIGNING = 192,
BSL_CID_KP_EMAILPROTECTION = 193,
BSL_CID_KP_TIMESTAMPING = 194,
BSL_CID_KP_OCSPSIGNING = 195,
BSL_CID_KP_IPSECIKE = 196,
BSL_CID_CE_INHIBITANYPOLICY = 197,
BSL_CID_CE_FRESHESTCRL = 198,
BSL_CID_PE_AUTHORITYINFOACCESS = 199,
BSL_CID_PE_SUBJECTINFOACCESS = 200,
BSL_CID_CE_CRLNUMBER = 201,
BSL_CID_CE_ISSUINGDISTRIBUTIONPOINT = 202,
BSL_CID_CE_DELTACRLINDICATOR = 203,
BSL_CID_CE_CRLREASONS = 204,
BSL_CID_CE_CERTIFICATEISSUER = 205,
BSL_CID_CE_HOLDINSTRUCTIONCODE = 206,
BSL_CID_HOLDINSTRUCTION = 207,
BSL_CID_HOLDINSTRUCTION_NONE = 208,
BSL_CID_HOLDINSTRUCTION_CALLISSUER = 209,
BSL_CID_HOLDINSTRUCTION_REJECT = 210,
BSL_CID_CE_INVALIDITYDATE = 211,
BSL_CID_PDA_DATEOFBIRTH = 212,
BSL_CID_PDA_PLACEOFBIRTH = 213,
BSL_CID_PDA_GENDER = 214,
BSL_CID_PDA_COUNTRYOFCITIZENSHIP = 215,
BSL_CID_PDA_COUNTRYOFRESIDENCE = 216,
BSL_CID_PDA = 217,
BSL_CID_ON_PERMANENTIDENTIFIER = 218,
BSL_CID_ON = 219,
BSL_CID_CE_DOMAININFO = 220,
BSL_CID_PASSWORDBASEDMAC = 221,
BSL_CID_DHBASEDMAC = 222,
BSL_CID_IT = 223,
BSL_CID_CAPROTENCCERT = 224,
BSL_CID_SIGNKEYPAIRTYPES = 225,
BSL_CID_ENCKEYPAIRTYPES = 226,
BSL_CID_PREFERREDSYMMALG = 227,
BSL_CID_CAKEYUPDATEINFO = 228,
BSL_CID_CURRENTCRL = 229,
BSL_CID_CONFIRMWAITTIME = 230,
BSL_CID_PKIP = 231,
BSL_CID_REGCTRL = 232,
BSL_CID_REGCTRL_REGTOKEN = 233,
BSL_CID_REGCTRL_AUTHENTICATOR = 234,
BSL_CID_REGCTRL_PKIPUBLICATIONINFO = 235,
BSL_CID_REGCTRL_PKIARCHIVEOPTIONS = 236,
BSL_CID_REGCTRL_OLDCERTID = 237,
BSL_CID_REGCTRL_PROTOCOLENCRKEY = 238,
BSL_CID_REGINFO = 239,
BSL_CID_REGINFO_UTF8PAIRS = 240,
BSL_CID_REGINFO_CERTREQ = 241,
BSL_CID_PKCS12 = 242,
BSL_CID_PKCS12PBEIDS = 243,
BSL_CID_PBE_SHAWITH128BITRC4 = 244,
BSL_CID_PBE_SHAWITH40BITRC4 = 245,
BSL_CID_PBE_SHAWITH3KEY_TRIPLE_DESCBC = 246,
BSL_CID_PBE_SHAWITH2KEY_TRIPLE_DESCBC = 247,
BSL_CID_PBE_SHAWITH128BIT_RC2CBC = 248,
BSL_CID_PBE_SHAWITH40BIT_RC2CBC = 249,
BSL_CID_BAGTYPES = 250,
BSL_CID_KEYBAG = 251,
BSL_CID_PKCS8SHROUDEDKEYBAG = 252,
BSL_CID_CERTBAG = 253,
BSL_CID_CRLBAG = 254,
BSL_CID_SECRETBAG = 255,
BSL_CID_SAFECONTENTSBAG = 256,
BSL_CID_X509CERTIFICATE = 257,
BSL_CID_SDSICERTIFICATE = 258,
BSL_CID_FRIENDLYNAME = 259,
BSL_CID_LOCALKEYID = 260,
BSL_CID_CERTIFICATEREVOCATIONLIST = 261,
BSL_CID_PKCS7 = 262,
BSL_CID_PKCS7_SIMPLEDATA = 263,
BSL_CID_PKCS7_SIGNEDDATA = 264,
BSL_CID_PKCS7_ENVELOPEDDATA = 265,
BSL_CID_PKCS7_SIGNED_ENVELOPEDDATA = 266,
BSL_CID_PKCS7_DIGESTEDDATA = 267,
BSL_CID_PKCS7_ENCRYPTEDDATA = 268,
BSL_CID_PKCS9 = 269,
BSL_CID_PKCS9_AT_CONTENTTYPE = 270,
BSL_CID_PKCS9_AT_MESSAGEDIGEST = 271,
BSL_CID_PKCS9_AT_SIGNINGTIME = 272,
BSL_CID_PKCS9_AT_COUNTERSIGNATURE = 273,
BSL_CID_PKCS9_AT_RANDOMNONCE = 274,
BSL_CID_PKCS9_AT_SEQUENCENUMBER = 275,
BSL_CID_MD4 = 276,
BSL_CID_HMAC_MD4 = 277,
BSL_CID_CMAC_AES = 278,
BSL_CID_CMAC_TDES = 279,
BSL_CID_RNG_HW = 280,
BSL_CID_RNG_SW = 281,
BSL_CID_XCBC_AES = 282,
BSL_CID_RC2_ECB = 283,
BSL_CID_RC2_CBC = 284,
BSL_CID_RC2_OFB = 285,
BSL_CID_RC2_CFB = 286,
BSL_CID_MD5_SHA1 = 287,
BSL_CID_SECP384R1 = 288,
BSL_CID_SECP521R1 = 289,
BSL_CID_SM3 = 290,
BSL_CID_HMAC_SM3 = 291,
BSL_CID_SM2DSAWITHSM3 = 292,
BSL_CID_SM2DSAWITHSHA1 = 293,
BSL_CID_SM2DSAWITHSHA256 = 294,
BSL_CID_SM2PRIME256 = 295,
BSL_CID_SM2DSA = 296,
BSL_CID_SM2KEP = 297,
BSL_CID_SM2PKEA = 298,
BSL_CID_AES128_GCM = 299,
BSL_CID_AES192_GCM = 300,
BSL_CID_AES256_GCM = 301,
BSL_CID_AES128_CTR = 302,
BSL_CID_AES192_CTR = 303,
BSL_CID_AES256_CTR = 304,
BSL_CID_UNSTRUCTURED_NAME = 305,
BSL_CID_UNSTRUCTURED_ADDR = 306,
BSL_CID_BF_ECB = 307,
BSL_CID_BF_CBC = 308,
BSL_CID_BF_CFB = 309,
BSL_CID_BF_OFB = 310,
BSL_CID_AES128_CCM = 311,
BSL_CID_AES192_CCM = 312,
BSL_CID_AES256_CCM = 313,
BSL_CID_AT_STREETADDRESS = 314,
BSL_CID_AT_BUSINESSCATEGORY = 315,
BSL_CID_AT_POSTALCODE = 316,
BSL_CID_JD_LOCALITYNAME = 317,
BSL_CID_JD_STATEORPROVINCENAME = 318,
BSL_CID_JD_COUNTRYNAME = 319,
BSL_CID_HMAC_SHA1_DIGEST = 320,
BSL_CID_NIST_PRIME224 = 321,
BSL_CID_NIST_C2PNB163K = 322,
BSL_CID_NIST_C2PNB163B = 323,
BSL_CID_NIST_C2TNB233K = 324,
BSL_CID_NIST_C2TNB233B = 325,
BSL_CID_NIST_C2PNB283K = 326,
BSL_CID_NIST_C2PNB283B = 327,
BSL_CID_NIST_C2TNB409K = 328,
BSL_CID_NIST_C2TNB409B = 329,
BSL_CID_NIST_C2PNB571K = 330,
BSL_CID_NIST_C2PNB571B = 331,
BSL_CID_PBE_HMACSHA512WITHAES256_CBC = 332,
BSL_CID_CE_SKAE = 333,
BSL_CID_ED25519 = 334,
BSL_CID_X25519 = 335,
BSL_CID_RSASSAPSS = 336,
BSL_CID_MGF1 = 337,
BSL_CID_SCRYPT = 338,
BSL_CID_PBES1 = 339,
BSL_CID_KDF2 = 340,
BSL_CID_DOT16KDF = 341,
BSL_CID_SM4 = 342,
BSL_CID_SM4_ECB = 343,
BSL_CID_SM4_CBC = 344,
BSL_CID_KWRAP_AES = 345,
BSL_CID_KWRAP_SM4 = 346,
BSL_CID_CMAC_SM4 = 347,
BSL_CID_SM3WITHRSAENCRYPTION = 348,
BSL_CID_HARDWAREMODULENAME = 349,
BSL_CID_AT_DESCRIPTION = 350,
BSL_CID_DECODE_UNKNOWN = 1000,
BSL_CID_NULL = 1001,
BSL_CID_SHA256_MB = 1500,
BSL_CID_HMAC_SHA3_224 = 2000,
BSL_CID_HMAC_SHA3_256 = 2001,
BSL_CID_HMAC_SHA3_384 = 2002,
BSL_CID_HMAC_SHA3_512 = 2003,
BSL_CID_DSAWITHSHA256 = 2004,
BSL_CID_DSAWITHSHA224 = 2005,
BSL_CID_DSAWITHSHA384 = 2006,
BSL_CID_DSAWITHSHA512 = 2007,
BSL_CID_SHA224WITHRSAENCRYPTION = 2008,
BSL_CID_SHA3_224 = 2009,
BSL_CID_SHA3_256 = 2010,
BSL_CID_SHA3_384 = 2011,
BSL_CID_SHA3_512 = 2012,
BSL_CID_SHAKE128 = 2013,
BSL_CID_SHAKE256 = 2014,
BSL_CID_HMAC_MD5_SHA1 = 2015,
BSL_CID_CMAC_AES128 = 2016,
BSL_CID_CMAC_AES192 = 2017,
BSL_CID_CMAC_AES256 = 2018,
BSL_CID_GMAC_AES128 = 2019,
BSL_CID_GMAC_AES192 = 2020,
BSL_CID_GMAC_AES256 = 2021,
BSL_CID_AES128_XTS = 2022,
BSL_CID_AES256_XTS = 2023,
BSL_CID_AES128_WRAP_NOPAD = 2024,
BSL_CID_AES192_WRAP_NOPAD = 2025,
BSL_CID_AES256_WRAP_NOPAD = 2026,
BSL_CID_AES128_WRAP_PAD = 2027,
BSL_CID_AES192_WRAP_PAD = 2028,
BSL_CID_AES256_WRAP_PAD = 2029,
BSL_CID_CHACHA20_POLY1305 = 2030,
BSL_CID_SM4_XTS = 2031,
BSL_CID_SM4_CTR = 2032,
BSL_CID_SM4_GCM = 2033,
BSL_CID_SM4_CFB = 2034,
BSL_CID_SM4_OFB = 2035,
BSL_CID_KDFTLS12 = 2036,
BSL_CID_HKDF = 2037,
BSL_CID_RAND_SHA1 = 2038,
BSL_CID_RAND_SHA224 = 2039,
BSL_CID_RAND_SHA256 = 2040,
BSL_CID_RAND_SHA384 = 2041,
BSL_CID_RAND_SHA512 = 2042,
BSL_CID_RAND_SM3 = 2043,
BSL_CID_RAND_HMAC_SHA1 = 2044,
BSL_CID_RAND_HMAC_SHA224 = 2045,
BSL_CID_RAND_HMAC_SHA256 = 2046,
BSL_CID_RAND_HMAC_SHA384 = 2047,
BSL_CID_RAND_HMAC_SHA512 = 2048,
BSL_CID_RAND_AES128_CTR = 2049,
BSL_CID_RAND_AES192_CTR = 2050,
BSL_CID_RAND_AES256_CTR = 2051,
BSL_CID_RAND_AES128_CTR_DF = 2052,
BSL_CID_RAND_AES192_CTR_DF = 2053,
BSL_CID_RAND_AES256_CTR_DF = 2054,
BSL_CID_RAND_SM4_CTR_DF = 2055,
BSL_CID_ED448 = 2056,
BSL_CID_X448 = 2057,
BSL_CID_SM4_HCTR = 2058,
BSL_CID_DH_RFC2409_768 = 2060,
BSL_CID_DH_RFC2409_1024 = 2061,
BSL_CID_DH_RFC3526_1536 = 2062,
BSL_CID_DH_RFC3526_2048 = 2063,
BSL_CID_DH_RFC3526_3072 = 2064,
BSL_CID_DH_RFC3526_4096 = 2065,
BSL_CID_DH_RFC3526_6144 = 2066,
BSL_CID_DH_RFC3526_8192 = 2067,
BSL_CID_DH_RFC7919_2048 = 2068,
BSL_CID_DH_RFC7919_3072 = 2069,
BSL_CID_DH_RFC7919_4096 = 2070,
BSL_CID_DH_RFC7919_6144 = 2071,
BSL_CID_DH_RFC7919_8192 = 2072,
BSL_CID_ECC_BRAINPOOLP256R1 = 2073,
BSL_CID_ECC_BRAINPOOLP384R1 = 2074,
BSL_CID_ECC_BRAINPOOLP512R1 = 2075,
BSL_CID_SIPHASH64 = 2076,
BSL_CID_SIPHASH128 = 2077,
BSL_CID_NETSCAPE = 2078,
BSL_CID_NS_CERTEXT = 2079,
BSL_CID_NS_DATATYPE = 2080,
BSL_CID_NS_CERTTYPE = 2081,
BSL_CID_NS_BASEURL = 2082,
BSL_CID_NS_REVOCATIOPNURL = 2083,
BSL_CID_NS_CAREVOCATIONURL = 2084,
BSL_CID_NS_RENEWALURL = 2085,
BSL_CID_NS_CAPOLICYURL = 2086,
BSL_CID_NS_SSLSERVERNAME = 2087,
BSL_CID_NS_COMMENT = 2088,
BSL_CID_NS_CERTSEQUENCE = 2089,
BSL_CID_NS_SGC = 2090,
BSL_CID_EC192WAPI = 2091,
BSL_CID_CBC_MAC_SM4 = 2092,
BSL_CID_EC_PUBLICKEY = 2093,
BSL_CID_AT_USERID = 2094,
BSL_CID_PKCS7_CONTENTINFO = 2095,
BSL_CID_PKCS12KDF = 2096,
BSL_CID_RETAIL_MAC_DES = 2097,
BSL_CID_MCELIECE = 2098,
BSL_CID_FRODOKEM = 2099,
BSL_CID_ML_KEM = 2100,
BSL_CID_ML_DSA = 2101,
BSL_CID_HYBRID_KEM = 2102,
BSL_CID_X25519_MLKEM512 = 2103,
BSL_CID_X25519_MLKEM768 = 2104,
BSL_CID_X25519_MLKEM1024 = 2105,
BSL_CID_X448_MLKEM512 = 2106,
BSL_CID_X448_MLKEM768 = 2107,
BSL_CID_X448_MLKEM1024 = 2108,
BSL_CID_ECDH_NISTP256_MLKEM512 = 2109,
BSL_CID_ECDH_NISTP256_MLKEM768 = 2110,
BSL_CID_ECDH_NISTP256_MLKEM1024 = 2111,
BSL_CID_ECDH_NISTP384_MLKEM512 = 2112,
BSL_CID_ECDH_NISTP384_MLKEM768 = 2113,
BSL_CID_ECDH_NISTP384_MLKEM1024 = 2114,
BSL_CID_ECDH_NISTP521_MLKEM512 = 2115,
BSL_CID_ECDH_NISTP521_MLKEM768 = 2116,
BSL_CID_ECDH_NISTP521_MLKEM1024 = 2117,
BSL_CID_ML_DSA_44 = 2120,
BSL_CID_ML_DSA_65 = 2121,
BSL_CID_ML_DSA_87 = 2122,
BSL_CID_ML_KEM_512 = 2123,
BSL_CID_ML_KEM_768 = 2124,
BSL_CID_ML_KEM_1024 = 2125,
BSL_CID_SLH_DSA_SHA2_128S = 2126,
BSL_CID_SLH_DSA_SHAKE_128S = 2127,
BSL_CID_SLH_DSA_SHA2_128F = 2128,
BSL_CID_SLH_DSA_SHAKE_128F = 2129,
BSL_CID_SLH_DSA_SHA2_192S = 2130,
BSL_CID_SLH_DSA_SHAKE_192S = 2131,
BSL_CID_SLH_DSA_SHA2_192F = 2132,
BSL_CID_SLH_DSA_SHAKE_192F = 2133,
BSL_CID_SLH_DSA_SHA2_256S = 2134,
BSL_CID_SLH_DSA_SHAKE_256S = 2135,
BSL_CID_SLH_DSA_SHA2_256F = 2136,
BSL_CID_SLH_DSA_SHAKE_256F = 2137,
BSL_CID_XMSS_SHA2_10_256 = 2138,
BSL_CID_XMSS_SHA2_16_256 = 2139,
BSL_CID_XMSS_SHA2_20_256 = 2140,
BSL_CID_XMSS_SHA2_10_512 = 2141,
BSL_CID_XMSS_SHA2_16_512 = 2142,
BSL_CID_XMSS_SHA2_20_512 = 2143,
BSL_CID_XMSS_SHAKE_10_256 = 2144,
BSL_CID_XMSS_SHAKE_16_256 = 2145,
BSL_CID_XMSS_SHAKE_20_256 = 2146,
BSL_CID_XMSS_SHAKE_10_512 = 2147,
BSL_CID_XMSS_SHAKE_16_512 = 2148,
BSL_CID_XMSS_SHAKE_20_512 = 2149,
BSL_CID_XMSS_SHA2_10_192 = 2150,
BSL_CID_XMSS_SHA2_16_192 = 2151,
BSL_CID_XMSS_SHA2_20_192 = 2152,
BSL_CID_XMSS_SHAKE256_10_256 = 2153,
BSL_CID_XMSS_SHAKE256_16_256 = 2154,
BSL_CID_XMSS_SHAKE256_20_256 = 2155,
BSL_CID_XMSS_SHAKE256_10_192 = 2156,
BSL_CID_XMSS_SHAKE256_16_192 = 2157,
BSL_CID_XMSS_SHAKE256_20_192 = 2158,
BSL_CID_XMSSMT_SHA2_20_2_256 = 2159,
BSL_CID_XMSSMT_SHA2_20_4_256 = 2160,
BSL_CID_XMSSMT_SHA2_40_2_256 = 2161,
BSL_CID_XMSSMT_SHA2_40_4_256 = 2162,
BSL_CID_XMSSMT_SHA2_40_8_256 = 2163,
BSL_CID_XMSSMT_SHA2_60_3_256 = 2164,
BSL_CID_XMSSMT_SHA2_60_6_256 = 2165,
BSL_CID_XMSSMT_SHA2_60_12_256 = 2166,
BSL_CID_XMSSMT_SHA2_20_2_512 = 2167,
BSL_CID_XMSSMT_SHA2_20_4_512 = 2168,
BSL_CID_XMSSMT_SHA2_40_2_512 = 2169,
BSL_CID_XMSSMT_SHA2_40_4_512 = 2170,
BSL_CID_XMSSMT_SHA2_40_8_512 = 2171,
BSL_CID_XMSSMT_SHA2_60_3_512 = 2172,
BSL_CID_XMSSMT_SHA2_60_6_512 = 2173,
BSL_CID_XMSSMT_SHA2_60_12_512 = 2174,
BSL_CID_XMSSMT_SHAKE_20_2_256 = 2175,
BSL_CID_XMSSMT_SHAKE_20_4_256 = 2176,
BSL_CID_XMSSMT_SHAKE_40_2_256 = 2177,
BSL_CID_XMSSMT_SHAKE_40_4_256 = 2178,
BSL_CID_XMSSMT_SHAKE_40_8_256 = 2179,
BSL_CID_XMSSMT_SHAKE_60_3_256 = 2180,
BSL_CID_XMSSMT_SHAKE_60_6_256 = 2181,
BSL_CID_XMSSMT_SHAKE_60_12_256 = 2182,
BSL_CID_XMSSMT_SHAKE_20_2_512 = 2183,
BSL_CID_XMSSMT_SHAKE_20_4_512 = 2184,
BSL_CID_XMSSMT_SHAKE_40_2_512 = 2185,
BSL_CID_XMSSMT_SHAKE_40_4_512 = 2186,
BSL_CID_XMSSMT_SHAKE_40_8_512 = 2187,
BSL_CID_XMSSMT_SHAKE_60_3_512 = 2188,
BSL_CID_XMSSMT_SHAKE_60_6_512 = 2189,
BSL_CID_XMSSMT_SHAKE_60_12_512 = 2190,
BSL_CID_XMSSMT_SHA2_20_2_192 = 2191,
BSL_CID_XMSSMT_SHA2_20_4_192 = 2192,
BSL_CID_XMSSMT_SHA2_40_2_192 = 2193,
BSL_CID_XMSSMT_SHA2_40_4_192 = 2194,
BSL_CID_XMSSMT_SHA2_40_8_192 = 2195,
BSL_CID_XMSSMT_SHA2_60_3_192 = 2196,
BSL_CID_XMSSMT_SHA2_60_6_192 = 2197,
BSL_CID_XMSSMT_SHA2_60_12_192 = 2198,
BSL_CID_XMSSMT_SHAKE256_20_2_256 = 2199,
BSL_CID_XMSSMT_SHAKE256_20_4_256 = 2200,
BSL_CID_XMSSMT_SHAKE256_40_2_256 = 2201,
BSL_CID_XMSSMT_SHAKE256_40_4_256 = 2202,
BSL_CID_XMSSMT_SHAKE256_40_8_256 = 2203,
BSL_CID_XMSSMT_SHAKE256_60_3_256 = 2204,
BSL_CID_XMSSMT_SHAKE256_60_6_256 = 2205,
BSL_CID_XMSSMT_SHAKE256_60_12_256 = 2206,
BSL_CID_XMSSMT_SHAKE256_20_2_192 = 2207,
BSL_CID_XMSSMT_SHAKE256_20_4_192 = 2208,
BSL_CID_XMSSMT_SHAKE256_40_2_192 = 2209,
BSL_CID_XMSSMT_SHAKE256_40_4_192 = 2210,
BSL_CID_XMSSMT_SHAKE256_40_8_192 = 2211,
BSL_CID_XMSSMT_SHAKE256_60_3_192 = 2212,
BSL_CID_XMSSMT_SHAKE256_60_6_192 = 2213,
BSL_CID_XMSSMT_SHAKE256_60_12_192 = 2214,
BSL_CID_FRODOKEM_640_SHAKE = 2215,
BSL_CID_FRODOKEM_976_SHAKE = 2216,
BSL_CID_FRODOKEM_1344_SHAKE = 2217,
BSL_CID_FRODOKEM_640_AES = 2218,
BSL_CID_FRODOKEM_976_AES = 2219,
BSL_CID_FRODOKEM_1344_AES = 2220,
BSL_CID_eFRODOKEM_640_SHAKE = 2221,
BSL_CID_eFRODOKEM_976_SHAKE = 2222,
BSL_CID_eFRODOKEM_1344_SHAKE = 2223,
BSL_CID_eFRODOKEM_640_AES = 2224,
BSL_CID_eFRODOKEM_976_AES = 2225,
BSL_CID_eFRODOKEM_1344_AES = 2226,
BSL_CID_HKDF_SHA256 = 2400,
BSL_CID_HKDF_SHA512 = 2401,
BSL_CID_MCELIECE_6688128 = 2402,
BSL_CID_MCELIECE_6688128_F = 2403,
BSL_CID_MCELIECE_6688128_PC = 2404,
BSL_CID_MCELIECE_6688128_PCF = 2405,
BSL_CID_MCELIECE_6960119 = 2406,
BSL_CID_MCELIECE_6960119_F = 2407,
BSL_CID_MCELIECE_6960119_PC = 2408,
BSL_CID_MCELIECE_6960119_PCF = 2409,
BSL_CID_MCELIECE_8192128 = 2410,
BSL_CID_MCELIECE_8192128_F = 2411,
BSL_CID_MCELIECE_8192128_PC = 2412,
BSL_CID_MCELIECE_8192128_PCF = 2413,
BSL_CID_LMS_SHA256_H5_W4 = 2414,
BSL_CID_LMS_SHA256_H10_W4 = 2415,
BSL_CID_LMS_SHA256_H15_W4 = 2416,
BSL_CID_LMS_SHA256_H20_W4 = 2417,
BSL_CID_LMS_SHA256_H25_W4 = 2418,
BSL_CID_LMS_SHA256_H10_W2 = 2419,
BSL_CID_LMS_SHA256_H15_W2 = 2420,
BSL_CID_LMS_SHA256_H20_W2 = 2421,
BSL_CID_LMS_SHA256_H10_W8 = 2422,
BSL_CID_LMS_SHA256_H15_W8 = 2423,
BSL_CID_LMS_SHA256_H20_W8 = 2424,
BSL_CID_HSS_SHA256_L2_H10_H10 = 2425,
BSL_CID_HSS_SHA256_L2_H15_H15 = 2426,
BSL_CID_HSS_SHA256_L2_H20_H20 = 2427,
BSL_CID_HSS_SHA256_L3_H10_H10_H10 = 2428,
BSL_CID_SM9 = 5201,
BSL_CID_ECC_SM9 = 5202,
BSL_CID_PAILLIER = 5203,
BSL_CID_ELGAMAL = 5204,
BSL_CID_SLH_DSA = 5205,
BSL_CID_RSASSAPSAE = 5206,
BSL_CID_XMSS = 5207,
BSL_CID_COMPOSITE = 5208,
BSL_CID_MLDSA44_RSA2048_PSS_SHA256 = 5209,
BSL_CID_MLDSA44_RSA2048_PKCS15_SHA256 = 5210,
BSL_CID_MLDSA44_ED25519_SHA512 = 5211,
BSL_CID_MLDSA44_ECDSA_P256_SHA256 = 5212,
BSL_CID_MLDSA65_RSA3072_PSS_SHA512 = 5213,
BSL_CID_MLDSA65_RSA3072_PKCS15_SHA512 = 5214,
BSL_CID_MLDSA65_RSA4096_PSS_SHA512 = 5215,
BSL_CID_MLDSA65_RSA4096_PKCS15_SHA512 = 5216,
BSL_CID_MLDSA65_ECDSA_P256_SHA512 = 5217,
BSL_CID_MLDSA65_ECDSA_P384_SHA512 = 5218,
BSL_CID_MLDSA65_ECDSA_BRAINPOOLP256R1_SHA512 = 5219,
BSL_CID_MLDSA65_ED25519_SHA512 = 5220,
BSL_CID_MLDSA87_ECDSA_P384_SHA512 = 5221,
BSL_CID_MLDSA87_ECDSA_BRAINPOOLP384R1_SHA512 = 5222,
BSL_CID_MLDSA87_ED448_SHAKE256 = 5223,
BSL_CID_MLDSA87_RSA3072_PSS_SHA512 = 5224,
BSL_CID_MLDSA87_RSA4096_PSS_SHA512 = 5225,
BSL_CID_MLDSA87_ECDSA_P521_SHA512 = 5226,
BSL_CID_LMS = 5227,
BSL_CID_HSS = 5228,
BSL_CID_XMSSMT = 5229,
BSL_CID_MAC_AEAD = 5300,
BSL_CID_AES128_CCM8,
BSL_CID_AES256_CCM8,
BSL_CID_PBKDF1,
BSL_CID_SM4_CCM,
BSL_CID_X509CRL,
BSL_CID_SMIMECAP,
BSL_CID_ON_DNSSRV,
BSL_CID_MAX,
BSL_CID_EXTEND = 0x60000000,
} BslCid;
typedef struct {
uint32_t octetLen;
char *octs;
uint32_t flags;
} BslOidString;
* @ingroup bsl_obj
* @brief Create an object identifier mapping
* @param[in] octs The octs buff for octets
* @param[in] octetLen The length of the octs buff
* @param[in] oidName The name of the object identifier
* @param[in] cid The algorithm ID to map to
* @return HITLS_OK on success, error code on failure
*/
int32_t BSL_OBJ_Create(char *octs, uint32_t octetLen, const char *oidName, int32_t cid);
* @ingroup bsl_obj
* @brief Create a signature algorithm ID mapping
* @param[in] signId The signature algorithm ID
* @param[in] asymId The asymmetric algorithm ID
* @param[in] hashId The hash algorithm ID
* @return HITLS_OK on success, error code on failure
*/
int32_t BSL_OBJ_CreateSignId(int32_t signId, int32_t asymId, int32_t hashId);
* @ingroup bsl_obj
* @brief Get the algorithm ID from the object identifier string
* @param[in] oid The object identifier string
* @return The algorithm ID
*/
BslCid BSL_OBJ_GetCID(const BslOidString *oidStr);
* @ingroup bsl_obj
* @brief Get the object identifier string from the algorithm ID
* @param[in] inputCid The algorithm ID
* @return The object identifier string
*/
BslOidString *BSL_OBJ_GetOID(BslCid ulCID);
* @ingroup bsl_obj
* @brief Get oid number string from the hex string
* @param[in] oid The hex string
* @param[in] len The hex string length
* @return Oid number string
*/
char *BSL_OBJ_GetOidNumericString(const uint8_t *oid, uint32_t len);
* @ingroup bsl_obj
* @brief Get oid hex string from the number string
* @param[in] oid The number string
* @param[in] len The number string length
* @param[out] outLen The length of hex string
* @return Oid hex number
*/
uint8_t *BSL_OBJ_GetOidFromNumericString(const char *oid, uint32_t len, uint32_t *outLen);
#ifdef __cplusplus
}
#endif
#endif