From 59cba5ac8591dba5113fb674ad001d45450e59d1 Mon Sep 17 00:00:00 2001 From: Pauli Date: Sat, 24 Aug 2019 20:14:51 +1000 Subject: [PATCH] KDF error codes reworked Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/9662) --- crypto/ec/ec_err.c | 2 + crypto/err/err_all.c | 1 - crypto/err/openssl.txt | 80 +++++++------------ include/openssl/ecerr.h | 10 +++ include/openssl/evperr.h | 3 - .../include/internal/providercommonerr.h | 26 ++++++ providers/common/provider_err.c | 36 +++++++++ 7 files changed, 101 insertions(+), 57 deletions(-) diff --git a/crypto/ec/ec_err.c b/crypto/ec/ec_err.c index d2fee0597f..566b40f13d 100644 --- a/crypto/ec/ec_err.c +++ b/crypto/ec/ec_err.c @@ -23,6 +23,8 @@ static const ERR_STRING_DATA EC_str_reasons[] = { "coordinates out of range"}, {ERR_PACK(ERR_LIB_EC, 0, EC_R_CURVE_DOES_NOT_SUPPORT_ECDH), "curve does not support ecdh"}, + {ERR_PACK(ERR_LIB_EC, 0, EC_R_CURVE_DOES_NOT_SUPPORT_ECDSA), + "curve does not support ecdsa"}, {ERR_PACK(ERR_LIB_EC, 0, EC_R_CURVE_DOES_NOT_SUPPORT_SIGNING), "curve does not support signing"}, {ERR_PACK(ERR_LIB_EC, 0, EC_R_D2I_ECPKPARAMETERS_FAILURE), diff --git a/crypto/err/err_all.c b/crypto/err/err_all.c index 347bfa0e42..972421f402 100644 --- a/crypto/err/err_all.c +++ b/crypto/err/err_all.c @@ -102,7 +102,6 @@ int err_load_crypto_strings_int(void) ERR_load_ESS_strings() == 0 || ERR_load_ASYNC_strings() == 0 || #endif - ERR_load_KDF_strings() == 0 || ERR_load_OSSL_STORE_strings() == 0 || ERR_load_PROP_strings() == 0 || ERR_load_PROV_strings() == 0) diff --git a/crypto/err/openssl.txt b/crypto/err/openssl.txt index 6bf5fcdb9d..f74659c599 100644 --- a/crypto/err/openssl.txt +++ b/crypto/err/openssl.txt @@ -825,11 +825,8 @@ EVP_F_EVP_DIGESTUPDATE:231:EVP_DigestUpdate EVP_F_EVP_ENCRYPTDECRYPTUPDATE:219:evp_EncryptDecryptUpdate EVP_F_EVP_ENCRYPTFINAL_EX:127:EVP_EncryptFinal_ex EVP_F_EVP_ENCRYPTUPDATE:167:EVP_EncryptUpdate -EVP_F_EVP_KDF_CTRL:224:EVP_KDF_ctrl -EVP_F_EVP_KDF_CTRL_STR:225:EVP_KDF_ctrl_str EVP_F_EVP_KDF_CTX_DUP:220: -EVP_F_EVP_KDF_CTX_NEW:240:EVP_KDF_CTX_new -EVP_F_EVP_KDF_CTX_NEW_ID:226:EVP_KDF_CTX_new_id +EVP_F_EVP_KDF_CTX_NEW:221: EVP_F_EVP_KEYEXCH_FETCH:245:EVP_KEYEXCH_fetch EVP_F_EVP_KEYEXCH_FROM_DISPATCH:244:evp_keyexch_from_dispatch EVP_F_EVP_MAC_CTRL:209:EVP_MAC_ctrl @@ -917,53 +914,6 @@ EVP_F_S390X_AES_GCM_CTRL:201:s390x_aes_gcm_ctrl EVP_F_S390X_AES_GCM_TLS_CIPHER:208:s390x_aes_gcm_tls_cipher EVP_F_SCRYPT_ALG:228:scrypt_alg EVP_F_UPDATE:173:update -KDF_F_HKDF_EXTRACT:112:HKDF_Extract -KDF_F_KDF_HKDF_DERIVE:113:kdf_hkdf_derive -KDF_F_KDF_HKDF_NEW:114:kdf_hkdf_new -KDF_F_KDF_HKDF_SIZE:115:kdf_hkdf_size -KDF_F_KDF_MD2CTRL:116:kdf_md2ctrl -KDF_F_KDF_PBKDF2_CTRL:140:kdf_pbkdf2_ctrl -KDF_F_KDF_PBKDF2_CTRL_STR:117:kdf_pbkdf2_ctrl_str -KDF_F_KDF_PBKDF2_DERIVE:118:kdf_pbkdf2_derive -KDF_F_KDF_PBKDF2_NEW:119:kdf_pbkdf2_new -KDF_F_KDF_SCRYPT_CTRL_STR:120:kdf_scrypt_ctrl_str -KDF_F_KDF_SCRYPT_CTRL_UINT32:121:kdf_scrypt_ctrl_uint32 -KDF_F_KDF_SCRYPT_CTRL_UINT64:122:kdf_scrypt_ctrl_uint64 -KDF_F_KDF_SCRYPT_DERIVE:123:kdf_scrypt_derive -KDF_F_KDF_SCRYPT_NEW:124:kdf_scrypt_new -KDF_F_KDF_SSHKDF_CTRL:130:kdf_sshkdf_ctrl -KDF_F_KDF_SSHKDF_CTRL_STR:131:kdf_sshkdf_ctrl_str -KDF_F_KDF_SSHKDF_DERIVE:132:kdf_sshkdf_derive -KDF_F_KDF_SSHKDF_NEW:133:kdf_sshkdf_new -KDF_F_KDF_TLS1_PRF_CTRL_STR:125:kdf_tls1_prf_ctrl_str -KDF_F_KDF_TLS1_PRF_DERIVE:126:kdf_tls1_prf_derive -KDF_F_KDF_TLS1_PRF_NEW:127:kdf_tls1_prf_new -KDF_F_PBKDF2_DERIVE:141:pbkdf2_derive -KDF_F_PBKDF2_SET_MEMBUF:128:pbkdf2_set_membuf -KDF_F_PKEY_HKDF_CTRL_STR:103:pkey_hkdf_ctrl_str -KDF_F_PKEY_HKDF_DERIVE:102:pkey_hkdf_derive -KDF_F_PKEY_HKDF_INIT:108:pkey_hkdf_init -KDF_F_PKEY_SCRYPT_CTRL_STR:104:pkey_scrypt_ctrl_str -KDF_F_PKEY_SCRYPT_CTRL_UINT64:105:pkey_scrypt_ctrl_uint64 -KDF_F_PKEY_SCRYPT_DERIVE:109:pkey_scrypt_derive -KDF_F_PKEY_SCRYPT_INIT:106:pkey_scrypt_init -KDF_F_PKEY_SCRYPT_SET_MEMBUF:107:pkey_scrypt_set_membuf -KDF_F_PKEY_TLS1_PRF_CTRL_STR:100:pkey_tls1_prf_ctrl_str -KDF_F_PKEY_TLS1_PRF_DERIVE:101:pkey_tls1_prf_derive -KDF_F_PKEY_TLS1_PRF_INIT:110:pkey_tls1_prf_init -KDF_F_SCRYPT_SET_MEMBUF:129:scrypt_set_membuf -KDF_F_SSKDF_CTRL_STR:134:sskdf_ctrl_str -KDF_F_SSKDF_DERIVE:135:sskdf_derive -KDF_F_SSKDF_MAC2CTRL:136:sskdf_mac2ctrl -KDF_F_SSKDF_NEW:137:sskdf_new -KDF_F_SSKDF_SIZE:138:sskdf_size -KDF_F_TLS1_PRF_ALG:111:tls1_prf_alg -KDF_F_X942KDF_CTRL:142:x942kdf_ctrl -KDF_F_X942KDF_DERIVE:143:x942kdf_derive -KDF_F_X942KDF_HASH_KDM:144:x942kdf_hash_kdm -KDF_F_X942KDF_NEW:145:x942kdf_new -KDF_F_X942KDF_SIZE:146:x942kdf_size -KDF_F_X963KDF_DERIVE:139:x963kdf_derive OBJ_F_OBJ_ADD_OBJECT:105:OBJ_add_object OBJ_F_OBJ_ADD_SIGID:107:OBJ_add_sigid OBJ_F_OBJ_CREATE:100:OBJ_create @@ -2524,14 +2474,12 @@ EVP_R_XTS_DUPLICATED_KEYS:192:xts duplicated keys KDF_R_BAD_ENCODING:122:bad encoding KDF_R_BAD_LENGTH:123:bad length KDF_R_BOTH_MODE_AND_MODE_INT:127:both mode and mode int -KDF_R_INAVLID_UKM_LEN:124:inavlid ukm len KDF_R_INVALID_DIGEST:100:invalid digest KDF_R_INVALID_ITERATION_COUNT:119:invalid iteration count KDF_R_INVALID_KEY_LEN:120:invalid key len KDF_R_INVALID_MAC_TYPE:116:invalid mac type KDF_R_INVALID_MODE:128:invalid mode KDF_R_INVALID_MODE_INT:129:invalid mode int -KDF_R_INVALID_SALT_LEN:121:invalid salt len KDF_R_MISSING_CEK_ALG:125:missing cek alg KDF_R_MISSING_ITERATION_COUNT:109:missing iteration count KDF_R_MISSING_KEY:104:missing key @@ -2712,26 +2660,52 @@ PROP_R_STRING_TOO_LONG:109:string too long PROP_R_TRAILING_CHARACTERS:110:trailing characters PROV_R_AES_KEY_SETUP_FAILED:101:aes key setup failed PROV_R_BAD_DECRYPT:100:bad decrypt +PROV_R_BAD_ENCODING:141:bad encoding +PROV_R_BAD_LENGTH:142:bad length +PROV_R_BOTH_MODE_AND_MODE_INT:127:both mode and mode int PROV_R_CIPHER_OPERATION_FAILED:102:cipher operation failed PROV_R_FAILED_TO_GENERATE_KEY:121:failed to generate key PROV_R_FAILED_TO_GET_PARAMETER:103:failed to get parameter PROV_R_FAILED_TO_SET_PARAMETER:104:failed to set parameter +PROV_R_INAVLID_UKM_LENGTH:146:inavlid ukm length PROV_R_INVALID_AAD:108:invalid aad PROV_R_INVALID_CUSTOM_LENGTH:111:invalid custom length PROV_R_INVALID_DATA:115:invalid data +PROV_R_INVALID_DIGEST:122:invalid digest +PROV_R_INVALID_ITERATION_COUNT:123:invalid iteration count PROV_R_INVALID_IVLEN:116:invalid ivlen PROV_R_INVALID_IV_LENGTH:109:invalid iv length PROV_R_INVALID_KEYLEN:117:invalid keylen +PROV_R_INVALID_KEY_LEN:124:invalid key len PROV_R_INVALID_KEY_LENGTH:105:invalid key length +PROV_R_INVALID_MODE:125:invalid mode +PROV_R_INVALID_MODE_INT:126:invalid mode int PROV_R_INVALID_SALT_LENGTH:112:invalid salt length PROV_R_INVALID_TAG:110:invalid tag PROV_R_INVALID_TAGLEN:118:invalid taglen +PROV_R_MISSING_CEK_ALG:144:missing cek alg +PROV_R_MISSING_KEY:128:missing key +PROV_R_MISSING_MESSAGE_DIGEST:129:missing message digest +PROV_R_MISSING_PASS:130:missing pass +PROV_R_MISSING_SALT:131:missing salt +PROV_R_MISSING_SECRET:132:missing secret +PROV_R_MISSING_SEED:140:missing seed +PROV_R_MISSING_SESSION_ID:133:missing session id +PROV_R_MISSING_TYPE:134:missing type +PROV_R_MISSING_XCGHASH:135:missing xcghash +PROV_R_NOT_SUPPORTED:136:not supported PROV_R_NOT_XOF_OR_INVALID_LENGTH:113:not xof or invalid length PROV_R_NO_KEY_SET:114:no key set PROV_R_OUTPUT_BUFFER_TOO_SMALL:106:output buffer too small PROV_R_TAG_NOTSET:119:tag notset PROV_R_TAG_NOT_NEEDED:120:tag not needed +PROV_R_UNABLE_TO_LOAD_SHA1:143:unable to load sha1 +PROV_R_UNABLE_TO_LOAD_SHA256:147:unable to load sha256 +PROV_R_UNSUPPORTED_CEK_ALG:145:unsupported cek alg +PROV_R_UNSUPPORTED_MAC_TYPE:137:unsupported mac type +PROV_R_VALUE_ERROR:138:value error PROV_R_WRONG_FINAL_BLOCK_LENGTH:107:wrong final block length +PROV_R_WRONG_OUTPUT_BUFFER_SIZE:139:wrong output buffer size RAND_R_ADDITIONAL_INPUT_TOO_LONG:102:additional input too long RAND_R_ALREADY_INSTANTIATED:103:already instantiated RAND_R_ARGUMENT_OUT_OF_RANGE:105:argument out of range diff --git a/include/openssl/ecerr.h b/include/openssl/ecerr.h index 43d41d8340..95723ec94b 100644 --- a/include/openssl/ecerr.h +++ b/include/openssl/ecerr.h @@ -39,9 +39,14 @@ int ERR_load_EC_strings(void); # define EC_F_ECDH_SIMPLE_COMPUTE_KEY 0 # define EC_F_ECDSA_DO_SIGN_EX 0 # define EC_F_ECDSA_DO_VERIFY 0 +# define EC_F_ECDSA_S390X_NISTP_SIGN_SIG 0 +# define EC_F_ECDSA_S390X_NISTP_VERIFY_SIG 0 # define EC_F_ECDSA_SIGN_EX 0 # define EC_F_ECDSA_SIGN_SETUP 0 # define EC_F_ECDSA_SIG_NEW 0 +# define EC_F_ECDSA_SIMPLE_SIGN_SETUP 0 +# define EC_F_ECDSA_SIMPLE_SIGN_SIG 0 +# define EC_F_ECDSA_SIMPLE_VERIFY_SIG 0 # define EC_F_ECDSA_VERIFY 0 # define EC_F_ECD_ITEM_VERIFY 0 # define EC_F_ECKEY_PARAM2TYPE 0 @@ -110,6 +115,7 @@ int ERR_load_EC_strings(void); # define EC_F_EC_GFP_SIMPLE_SET_COMPRESSED_COORDINATES 0 # define EC_F_EC_GROUP_CHECK 0 # define EC_F_EC_GROUP_CHECK_DISCRIMINANT 0 +# define EC_F_EC_GROUP_CHECK_NAMED_CURVE 0 # define EC_F_EC_GROUP_COPY 0 # define EC_F_EC_GROUP_GET_CURVE 0 # define EC_F_EC_GROUP_GET_CURVE_GF2M 0 @@ -121,6 +127,8 @@ int ERR_load_EC_strings(void); # define EC_F_EC_GROUP_GET_TRINOMIAL_BASIS 0 # define EC_F_EC_GROUP_NEW 0 # define EC_F_EC_GROUP_NEW_BY_CURVE_NAME 0 +# define EC_F_EC_GROUP_NEW_BY_CURVE_NAME_EX 0 +# define EC_F_EC_GROUP_NEW_EX 0 # define EC_F_EC_GROUP_NEW_FROM_DATA 0 # define EC_F_EC_GROUP_NEW_FROM_ECPARAMETERS 0 # define EC_F_EC_GROUP_NEW_FROM_ECPKPARAMETERS 0 @@ -134,6 +142,7 @@ int ERR_load_EC_strings(void); # define EC_F_EC_KEY_GENERATE_KEY 0 # define EC_F_EC_KEY_NEW 0 # define EC_F_EC_KEY_NEW_METHOD 0 +# define EC_F_EC_KEY_NEW_METHOD_INT 0 # define EC_F_EC_KEY_OCT2PRIV 0 # define EC_F_EC_KEY_PRINT 0 # define EC_F_EC_KEY_PRINT_FP 0 @@ -186,6 +195,7 @@ int ERR_load_EC_strings(void); # define EC_F_O2I_ECPUBLICKEY 0 # define EC_F_OLD_EC_PRIV_DECODE 0 # define EC_F_OSSL_ECDH_COMPUTE_KEY 0 +# define EC_F_OSSL_ECDSA_SIGN_SETUP 0 # define EC_F_OSSL_ECDSA_SIGN_SIG 0 # define EC_F_OSSL_ECDSA_VERIFY_SIG 0 # define EC_F_PKEY_ECD_CTRL 0 diff --git a/include/openssl/evperr.h b/include/openssl/evperr.h index 4a29c4b827..64ed5a3b95 100644 --- a/include/openssl/evperr.h +++ b/include/openssl/evperr.h @@ -65,11 +65,8 @@ int ERR_load_EVP_strings(void); # define EVP_F_EVP_ENCRYPTDECRYPTUPDATE 0 # define EVP_F_EVP_ENCRYPTFINAL_EX 0 # define EVP_F_EVP_ENCRYPTUPDATE 0 -# define EVP_F_EVP_KDF_CTRL 0 -# define EVP_F_EVP_KDF_CTRL_STR 0 # define EVP_F_EVP_KDF_CTX_DUP 0 # define EVP_F_EVP_KDF_CTX_NEW 0 -# define EVP_F_EVP_KDF_CTX_NEW_ID 0 # define EVP_F_EVP_KEYEXCH_FETCH 0 # define EVP_F_EVP_KEYEXCH_FROM_DISPATCH 0 # define EVP_F_EVP_MAC_CTRL 0 diff --git a/providers/common/include/internal/providercommonerr.h b/providers/common/include/internal/providercommonerr.h index c436495a5b..39f56b4950 100644 --- a/providers/common/include/internal/providercommonerr.h +++ b/providers/common/include/internal/providercommonerr.h @@ -51,25 +51,51 @@ int ERR_load_PROV_strings(void); */ # define PROV_R_AES_KEY_SETUP_FAILED 101 # define PROV_R_BAD_DECRYPT 100 +# define PROV_R_BAD_ENCODING 141 +# define PROV_R_BAD_LENGTH 142 +# define PROV_R_BOTH_MODE_AND_MODE_INT 127 # define PROV_R_CIPHER_OPERATION_FAILED 102 # define PROV_R_FAILED_TO_GENERATE_KEY 121 # define PROV_R_FAILED_TO_GET_PARAMETER 103 # define PROV_R_FAILED_TO_SET_PARAMETER 104 +# define PROV_R_INAVLID_UKM_LENGTH 146 # define PROV_R_INVALID_AAD 108 # define PROV_R_INVALID_CUSTOM_LENGTH 111 # define PROV_R_INVALID_DATA 115 +# define PROV_R_INVALID_DIGEST 122 +# define PROV_R_INVALID_ITERATION_COUNT 123 # define PROV_R_INVALID_IVLEN 116 # define PROV_R_INVALID_IV_LENGTH 109 # define PROV_R_INVALID_KEYLEN 117 +# define PROV_R_INVALID_KEY_LEN 124 # define PROV_R_INVALID_KEY_LENGTH 105 +# define PROV_R_INVALID_MODE 125 +# define PROV_R_INVALID_MODE_INT 126 # define PROV_R_INVALID_SALT_LENGTH 112 # define PROV_R_INVALID_TAG 110 # define PROV_R_INVALID_TAGLEN 118 +# define PROV_R_MISSING_CEK_ALG 144 +# define PROV_R_MISSING_KEY 128 +# define PROV_R_MISSING_MESSAGE_DIGEST 129 +# define PROV_R_MISSING_PASS 130 +# define PROV_R_MISSING_SALT 131 +# define PROV_R_MISSING_SECRET 132 +# define PROV_R_MISSING_SEED 140 +# define PROV_R_MISSING_SESSION_ID 133 +# define PROV_R_MISSING_TYPE 134 +# define PROV_R_MISSING_XCGHASH 135 +# define PROV_R_NOT_SUPPORTED 136 # define PROV_R_NOT_XOF_OR_INVALID_LENGTH 113 # define PROV_R_NO_KEY_SET 114 # define PROV_R_OUTPUT_BUFFER_TOO_SMALL 106 # define PROV_R_TAG_NOTSET 119 # define PROV_R_TAG_NOT_NEEDED 120 +# define PROV_R_UNABLE_TO_LOAD_SHA1 143 +# define PROV_R_UNABLE_TO_LOAD_SHA256 147 +# define PROV_R_UNSUPPORTED_CEK_ALG 145 +# define PROV_R_UNSUPPORTED_MAC_TYPE 137 +# define PROV_R_VALUE_ERROR 138 # define PROV_R_WRONG_FINAL_BLOCK_LENGTH 107 +# define PROV_R_WRONG_OUTPUT_BUFFER_SIZE 139 #endif diff --git a/providers/common/provider_err.c b/providers/common/provider_err.c index ed1d930712..b9895593b9 100644 --- a/providers/common/provider_err.c +++ b/providers/common/provider_err.c @@ -17,6 +17,10 @@ static const ERR_STRING_DATA PROV_str_reasons[] = { {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_AES_KEY_SETUP_FAILED), "aes key setup failed"}, {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_BAD_DECRYPT), "bad decrypt"}, + {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_BAD_ENCODING), "bad encoding"}, + {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_BAD_LENGTH), "bad length"}, + {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_BOTH_MODE_AND_MODE_INT), + "both mode and mode int"}, {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_CIPHER_OPERATION_FAILED), "cipher operation failed"}, {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_FAILED_TO_GENERATE_KEY), @@ -25,19 +29,40 @@ static const ERR_STRING_DATA PROV_str_reasons[] = { "failed to get parameter"}, {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_FAILED_TO_SET_PARAMETER), "failed to set parameter"}, + {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_INAVLID_UKM_LENGTH), + "inavlid ukm length"}, {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_INVALID_AAD), "invalid aad"}, {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_INVALID_CUSTOM_LENGTH), "invalid custom length"}, {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_INVALID_DATA), "invalid data"}, + {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_INVALID_DIGEST), "invalid digest"}, + {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_INVALID_ITERATION_COUNT), + "invalid iteration count"}, {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_INVALID_IVLEN), "invalid ivlen"}, {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_INVALID_IV_LENGTH), "invalid iv length"}, {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_INVALID_KEYLEN), "invalid keylen"}, + {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_INVALID_KEY_LEN), "invalid key len"}, {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_INVALID_KEY_LENGTH), "invalid key length"}, + {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_INVALID_MODE), "invalid mode"}, + {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_INVALID_MODE_INT), "invalid mode int"}, {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_INVALID_SALT_LENGTH), "invalid salt length"}, {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_INVALID_TAG), "invalid tag"}, {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_INVALID_TAGLEN), "invalid taglen"}, + {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_MISSING_CEK_ALG), "missing cek alg"}, + {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_MISSING_KEY), "missing key"}, + {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_MISSING_MESSAGE_DIGEST), + "missing message digest"}, + {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_MISSING_PASS), "missing pass"}, + {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_MISSING_SALT), "missing salt"}, + {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_MISSING_SECRET), "missing secret"}, + {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_MISSING_SEED), "missing seed"}, + {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_MISSING_SESSION_ID), + "missing session id"}, + {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_MISSING_TYPE), "missing type"}, + {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_MISSING_XCGHASH), "missing xcghash"}, + {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_NOT_SUPPORTED), "not supported"}, {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_NOT_XOF_OR_INVALID_LENGTH), "not xof or invalid length"}, {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_NO_KEY_SET), "no key set"}, @@ -45,8 +70,19 @@ static const ERR_STRING_DATA PROV_str_reasons[] = { "output buffer too small"}, {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_TAG_NOTSET), "tag notset"}, {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_TAG_NOT_NEEDED), "tag not needed"}, + {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_UNABLE_TO_LOAD_SHA1), + "unable to load sha1"}, + {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_UNABLE_TO_LOAD_SHA256), + "unable to load sha256"}, + {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_UNSUPPORTED_CEK_ALG), + "unsupported cek alg"}, + {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_UNSUPPORTED_MAC_TYPE), + "unsupported mac type"}, + {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_VALUE_ERROR), "value error"}, {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_WRONG_FINAL_BLOCK_LENGTH), "wrong final block length"}, + {ERR_PACK(ERR_LIB_PROV, 0, PROV_R_WRONG_OUTPUT_BUFFER_SIZE), + "wrong output buffer size"}, {0, NULL} }; -- 2.25.1