diff options
author | Shane Lontis <shane.lontis@oracle.com> | 2021-02-18 20:27:26 +1000 |
---|---|---|
committer | Shane Lontis <shane.lontis@oracle.com> | 2021-02-26 10:53:01 +1000 |
commit | 32ab57cbb4877ce7e6b4eb3f9b3cfbb0ff7cd10b (patch) | |
tree | 91e75951efa936b26e3a636b9a0daf90d60182b0 /crypto/evp | |
parent | 5af02212a5331cc30389246bb94f97fbcdebc23a (diff) |
Fix external symbols related to ec & sm2 keys
Partial fix for #12964
This adds ossl_ names for the following symbols:
ec_*, ecx_*, ecdh_*, ecdsa_*, sm2_*
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14231)
Diffstat (limited to 'crypto/evp')
-rw-r--r-- | crypto/evp/ctrl_params_translate.c | 10 | ||||
-rw-r--r-- | crypto/evp/ec_support.c | 12 | ||||
-rw-r--r-- | crypto/evp/p_lib.c | 4 | ||||
-rw-r--r-- | crypto/evp/pmeth_lib.c | 102 |
4 files changed, 18 insertions, 110 deletions
diff --git a/crypto/evp/ctrl_params_translate.c b/crypto/evp/ctrl_params_translate.c index 04f8fdbcab..e0f849d236 100644 --- a/crypto/evp/ctrl_params_translate.c +++ b/crypto/evp/ctrl_params_translate.c @@ -1023,7 +1023,7 @@ static int fix_dh_paramgen_type(enum state state, return 0; if (state == PRE_CTRL_TO_PARAMS) { - ctx->p2 = (char *)dh_gen_type_id2name(ctx->p1); + ctx->p2 = (char *)ossl_dh_gen_type_id2name(ctx->p1); ctx->p1 = 0; } @@ -1031,7 +1031,7 @@ static int fix_dh_paramgen_type(enum state state, return ret; if (state == PRE_PARAMS_TO_CTRL) { - ctx->p1 = dh_gen_type_name2id(ctx->p2); + ctx->p1 = ossl_dh_gen_type_name2id(ctx->p2); ctx->p2 = NULL; } @@ -1504,7 +1504,7 @@ static int get_payload_group_name(enum state state, if (grp != NULL) nid = EC_GROUP_get_curve_name(grp); if (nid != NID_undef) - ctx->p2 = (char *)ec_curve_nid2name(nid); + ctx->p2 = (char *)ossl_ec_curve_nid2name(nid); } break; #endif @@ -1569,7 +1569,7 @@ static int get_payload_public_key(enum state state, case EVP_PKEY_DH: switch (ctx->params->data_type) { case OSSL_PARAM_OCTET_STRING: - ctx->sz = dh_key2buf(EVP_PKEY_get0_DH(pkey), &buf, 0, 1); + ctx->sz = ossl_dh_key2buf(EVP_PKEY_get0_DH(pkey), &buf, 0, 1); ctx->p2 = buf; break; case OSSL_PARAM_UNSIGNED_INTEGER: @@ -1592,7 +1592,7 @@ static int get_payload_public_key(enum state state, case EVP_PKEY_EC: if (ctx->params->data_type == OSSL_PARAM_OCTET_STRING) { EC_KEY *eckey = EVP_PKEY_get0_EC_KEY(pkey); - BN_CTX *bnctx = BN_CTX_new_ex(ec_key_get_libctx(eckey)); + BN_CTX *bnctx = BN_CTX_new_ex(ossl_ec_key_get_libctx(eckey)); const EC_GROUP *ecg = EC_KEY_get0_group(eckey); const EC_POINT *point = EC_KEY_get0_public_key(eckey); diff --git a/crypto/evp/ec_support.c b/crypto/evp/ec_support.c index 7afd307435..a1eca28b79 100644 --- a/crypto/evp/ec_support.c +++ b/crypto/evp/ec_support.c @@ -115,7 +115,7 @@ static const EC_NAME2NID curve_list[] = { {"SM2", NID_sm2 }, }; -const char *ec_curve_nid2name(int nid) +const char *ossl_ec_curve_nid2name(int nid) { size_t i; @@ -126,7 +126,7 @@ const char *ec_curve_nid2name(int nid) * TODO(3.0) Figure out if we should try to find the nid with * EC_curve_nid2nist() first, i.e. make it a priority to return * NIST names if there is one for the NID. This is related to - * the TODO comment in ec_curve_name2nid(). + * the TODO comment in ossl_ec_curve_name2nid(). */ for (i = 0; i < OSSL_NELEM(curve_list); i++) { @@ -136,13 +136,13 @@ const char *ec_curve_nid2name(int nid) return NULL; } -int ec_curve_name2nid(const char *name) +int ossl_ec_curve_name2nid(const char *name) { size_t i; int nid; if (name != NULL) { - if ((nid = ec_curve_nist2nid_int(name)) != NID_undef) + if ((nid = ossl_ec_curve_nist2nid_int(name)) != NID_undef) return nid; for (i = 0; i < OSSL_NELEM(curve_list); i++) { @@ -174,7 +174,7 @@ static const EC_NAME2NID nist_curves[] = { {"P-521", NID_secp521r1} }; -const char *ec_curve_nid2nist_int(int nid) +const char *ossl_ec_curve_nid2nist_int(int nid) { size_t i; for (i = 0; i < OSSL_NELEM(nist_curves); i++) { @@ -184,7 +184,7 @@ const char *ec_curve_nid2nist_int(int nid) return NULL; } -int ec_curve_nist2nid_int(const char *name) +int ossl_ec_curve_nist2nid_int(const char *name) { size_t i; for (i = 0; i < OSSL_NELEM(nist_curves); i++) { diff --git a/crypto/evp/p_lib.c b/crypto/evp/p_lib.c index 9f3256c191..63f3f4cbc7 100644 --- a/crypto/evp/p_lib.c +++ b/crypto/evp/p_lib.c @@ -838,12 +838,12 @@ static ECX_KEY *evp_pkey_get1_ECX_KEY(EVP_PKEY *pkey, int type) { ECX_KEY *ret = evp_pkey_get0_ECX_KEY(pkey, type); if (ret != NULL) - ecx_key_up_ref(ret); + ossl_ecx_key_up_ref(ret); return ret; } # define IMPLEMENT_ECX_VARIANT(NAME) \ - ECX_KEY *evp_pkey_get1_##NAME(EVP_PKEY *pkey) \ + ECX_KEY *ossl_evp_pkey_get1_##NAME(EVP_PKEY *pkey) \ { \ return evp_pkey_get1_ECX_KEY(pkey, EVP_PKEY_##NAME); \ } diff --git a/crypto/evp/pmeth_lib.c b/crypto/evp/pmeth_lib.c index def0e92a37..478ae40a26 100644 --- a/crypto/evp/pmeth_lib.c +++ b/crypto/evp/pmeth_lib.c @@ -57,19 +57,19 @@ static pmeth_fn standard_methods[] = { ossl_dsa_pkey_method, # endif # ifndef OPENSSL_NO_EC - ec_pkey_method, + ossl_ec_pkey_method, # endif ossl_rsa_pss_pkey_method, # ifndef OPENSSL_NO_DH ossl_dhx_pkey_method, # endif # ifndef OPENSSL_NO_EC - ecx25519_pkey_method, - ecx448_pkey_method, + ossl_ecx25519_pkey_method, + ossl_ecx448_pkey_method, # endif # ifndef OPENSSL_NO_EC - ed25519_pkey_method, - ed448_pkey_method, + ossl_ed25519_pkey_method, + ossl_ed448_pkey_method, # endif }; @@ -1326,99 +1326,7 @@ int EVP_PKEY_CTX_ctrl_uint64(EVP_PKEY_CTX *ctx, int keytype, int optype, return EVP_PKEY_CTX_ctrl(ctx, keytype, optype, cmd, 0, &value); } -<<<<<<< HEAD -======= -static int legacy_ctrl_str_to_param(EVP_PKEY_CTX *ctx, const char *name, - const char *value) -{ - if (strcmp(name, "md") == 0) - name = OSSL_ALG_PARAM_DIGEST; - else if (strcmp(name, "rsa_padding_mode") == 0) - name = OSSL_ASYM_CIPHER_PARAM_PAD_MODE; - else if (strcmp(name, "rsa_mgf1_md") == 0) - name = OSSL_ASYM_CIPHER_PARAM_MGF1_DIGEST; - else if (strcmp(name, "rsa_oaep_md") == 0) - name = OSSL_ASYM_CIPHER_PARAM_OAEP_DIGEST; - else if (strcmp(name, "rsa_oaep_label") == 0) - name = OSSL_ASYM_CIPHER_PARAM_OAEP_LABEL; - else if (strcmp(name, "rsa_pss_saltlen") == 0) - name = OSSL_SIGNATURE_PARAM_PSS_SALTLEN; - else if (strcmp(name, "rsa_keygen_bits") == 0) - name = OSSL_PKEY_PARAM_RSA_BITS; - else if (strcmp(name, "rsa_keygen_pubexp") == 0) - name = OSSL_PKEY_PARAM_RSA_E; - else if (strcmp(name, "rsa_keygen_primes") == 0) - name = OSSL_PKEY_PARAM_RSA_PRIMES; - else if (strcmp(name, "rsa_pss_keygen_md") == 0) - name = OSSL_PKEY_PARAM_RSA_DIGEST; - else if (strcmp(name, "rsa_pss_keygen_mgf1_md") == 0) - name = OSSL_PKEY_PARAM_RSA_MGF1_DIGEST; - else if (strcmp(name, "rsa_pss_keygen_saltlen") == 0) - name = OSSL_PKEY_PARAM_RSA_PSS_SALTLEN; - else if (strcmp(name, "dsa_paramgen_bits") == 0) - name = OSSL_PKEY_PARAM_FFC_PBITS; - else if (strcmp(name, "dsa_paramgen_q_bits") == 0) - name = OSSL_PKEY_PARAM_FFC_QBITS; - else if (strcmp(name, "dsa_paramgen_md") == 0) - name = OSSL_PKEY_PARAM_FFC_DIGEST; - else if (strcmp(name, "dh_paramgen_generator") == 0) - name = OSSL_PKEY_PARAM_DH_GENERATOR; - else if (strcmp(name, "dh_paramgen_prime_len") == 0) - name = OSSL_PKEY_PARAM_FFC_PBITS; - else if (strcmp(name, "dh_paramgen_subprime_len") == 0) - name = OSSL_PKEY_PARAM_FFC_QBITS; - else if (strcmp(name, "dh_paramgen_type") == 0) { - name = OSSL_PKEY_PARAM_FFC_TYPE; - value = ossl_dh_gen_type_id2name(atoi(value)); - } else if (strcmp(name, "dh_param") == 0) - name = OSSL_PKEY_PARAM_GROUP_NAME; - else if (strcmp(name, "dh_rfc5114") == 0) { - int num = atoi(value); - - name = OSSL_PKEY_PARAM_GROUP_NAME; - value = - ossl_ffc_named_group_get_name(ossl_ffc_uid_to_dh_named_group(num)); - } else if (strcmp(name, "dh_pad") == 0) - name = OSSL_EXCHANGE_PARAM_PAD; - else if (strcmp(name, "ec_paramgen_curve") == 0) - name = OSSL_PKEY_PARAM_GROUP_NAME; - else if (strcmp(name, "ecdh_cofactor_mode") == 0) - name = OSSL_EXCHANGE_PARAM_EC_ECDH_COFACTOR_MODE; - else if (strcmp(name, "ecdh_kdf_md") == 0) - name = OSSL_EXCHANGE_PARAM_KDF_DIGEST; - else if (strcmp(name, "ec_param_enc") == 0) - name = OSSL_PKEY_PARAM_EC_ENCODING; - else if (strcmp(name, "N") == 0) - name = OSSL_KDF_PARAM_SCRYPT_N; - - { - /* - * TODO(3.0) reduce the code above to only translate known legacy - * string to the corresponding core name (see core_names.h), but - * otherwise leave it to this code block to do the actual work. - */ - const OSSL_PARAM *settable = EVP_PKEY_CTX_settable_params(ctx); - OSSL_PARAM params[2] = { OSSL_PARAM_END, OSSL_PARAM_END }; - int rv = 0; - int exists = 0; - - if (!OSSL_PARAM_allocate_from_text(¶ms[0], settable, name, value, - strlen(value), &exists)) { - if (!exists) { - ERR_raise_data(ERR_LIB_EVP, EVP_R_COMMAND_NOT_SUPPORTED, - "name=%s,value=%s", name, value); - return -2; - } - return 0; - } - if (EVP_PKEY_CTX_set_params(ctx, params)) - rv = 1; - OPENSSL_free(params[0].data); - return rv; - } -} ->>>>>>> 4651c47010... Fix external symbols related to dh keys static int evp_pkey_ctx_ctrl_str_int(EVP_PKEY_CTX *ctx, const char *name, const char *value) { |