EVP_PKEY_EC
if (pkey != NULL && EVP_PKEY_get_base_id(pkey) == EVP_PKEY_EC)
if (pkey->type != EVP_PKEY_EC)
krb5_boolean ecc = (EVP_PKEY_id(pkey) == EVP_PKEY_EC);
if (EVP_PKEY_id(pkey) == EVP_PKEY_EC) {
if (EVP_PKEY_id(params) == EVP_PKEY_EC) {
if (EVP_PKEY_id(params) == EVP_PKEY_EC) {
if (!EVP_PKEY_assign(pkey, EVP_PKEY_EC, eckey)) {
if (EVP_PKEY_base_id(pk) != EVP_PKEY_EC) {
if ((ctx = EVP_PKEY_CTX_new_id(EVP_PKEY_EC, NULL)) == NULL)
case EVP_PKEY_EC:
} else if (EVP_PKEY_base_id(evp) == EVP_PKEY_EC) {
} else if (EVP_PKEY_base_id(pk) == EVP_PKEY_EC &&
case EVP_PKEY_EC:
case EVP_PKEY_EC: {
if (EVP_PKEY_id(pkey) == EVP_PKEY_EC)
keytype = EVP_PKEY_EC;
&& EVP_PKEY_get_base_id(ret) == EVP_PKEY_EC) {
case EVP_PKEY_EC:
case EVP_PKEY_EC:
EVP_PKEY_EC,
EVP_PKEY_EC,
EVP_PKEY_EC,
if (X509_PUBKEY_set0_param(pk, OBJ_nid2obj(EVP_PKEY_EC),
EVP_PKEY_EC,
case EVP_PKEY_EC: {
case EVP_PKEY_EC: {
case EVP_PKEY_EC:
case EVP_PKEY_EC:
{ OSSL_ACTION_SET, EVP_PKEY_EC, 0, EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN,
{ OSSL_ACTION_SET, EVP_PKEY_EC, 0, EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN,
{ OSSL_ACTION_NONE, EVP_PKEY_EC, 0, EVP_PKEY_OP_DERIVE,
{ OSSL_ACTION_NONE, EVP_PKEY_EC, 0, EVP_PKEY_OP_DERIVE,
{ OSSL_ACTION_SET, EVP_PKEY_EC, 0, EVP_PKEY_OP_DERIVE,
{ OSSL_ACTION_GET, EVP_PKEY_EC, 0, EVP_PKEY_OP_DERIVE,
{ OSSL_ACTION_SET, EVP_PKEY_EC, 0, EVP_PKEY_OP_DERIVE,
{ OSSL_ACTION_GET, EVP_PKEY_EC, 0, EVP_PKEY_OP_DERIVE,
{ OSSL_ACTION_SET, EVP_PKEY_EC, 0, EVP_PKEY_OP_DERIVE,
{ OSSL_ACTION_GET, EVP_PKEY_EC, 0, EVP_PKEY_OP_DERIVE,
return EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, EVP_PKEY_OP_DERIVE,
return EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, EVP_PKEY_OP_DERIVE,
return EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, EVP_PKEY_OP_DERIVE,
return EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, EVP_PKEY_OP_DERIVE,
int keytype = nid == EVP_PKEY_SM2 ? EVP_PKEY_SM2 : EVP_PKEY_EC;
return EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, EVP_PKEY_OP_TYPE_GEN,
&& ctx->pmeth != NULL && ctx->pmeth->pkey_id != EVP_PKEY_EC)
if (EVP_PKEY_get_base_id(pkey) != EVP_PKEY_EC) {
if (pkey->type == EVP_PKEY_EC) {
{ EVP_PKEY_EC, "EC" },
case EVP_PKEY_EC: /* Including SM2 */
case EVP_PKEY_EC:
if ((key != NULL) && (pktype == EVP_PKEY_EC || pktype == EVP_PKEY_SM2)) {
if (curve == NID_sm2 && pktype == EVP_PKEY_EC)
type = EVP_PKEY_EC;
if (EVP_PKEY_get_id(pkey) != EVP_PKEY_EC)
case EVP_PKEY_EC:
if (type == EVP_PKEY_EC || type == EVP_PKEY_SM2)
EVP_PKEY_assign((pkey), EVP_PKEY_EC, (eckey))
#define ec_evp_type EVP_PKEY_EC
#define ec_evp_type EVP_PKEY_EC
{ EVP_PKEY_EC, SSL_aECDSA }, /* SSL_PKEY_ECC */
NID_sha256, SSL_MD_SHA256_IDX, EVP_PKEY_EC, SSL_PKEY_ECC,
NID_sha384, SSL_MD_SHA384_IDX, EVP_PKEY_EC, SSL_PKEY_ECC,
NID_sha512, SSL_MD_SHA512_IDX, EVP_PKEY_EC, SSL_PKEY_ECC,
NID_sha224, SSL_MD_SHA224_IDX, EVP_PKEY_EC, SSL_PKEY_ECC,
NID_sha1, SSL_MD_SHA1_IDX, EVP_PKEY_EC, SSL_PKEY_ECC,
NID_sha256, SSL_MD_SHA256_IDX, EVP_PKEY_EC, SSL_PKEY_ECC,
NID_sha384, SSL_MD_SHA384_IDX, EVP_PKEY_EC, SSL_PKEY_ECC,
NID_sha512, SSL_MD_SHA512_IDX, EVP_PKEY_EC, SSL_PKEY_ECC,
if (lu->sig == EVP_PKEY_EC
if (pkeyid == EVP_PKEY_EC) {
*psig = EVP_PKEY_EC;
rsign = EVP_PKEY_EC;
if (lu->sig == EVP_PKEY_EC) {
if (nid == NID_sm2 && as == EVP_PKEY_EC) {
as == EVP_PKEY_EC ? "EC" : "SM2");
return test_builtin(n, EVP_PKEY_EC);
|| !TEST_ptr(decoded_key = d2i_PublicKey(EVP_PKEY_EC, &decoded_key,
itype = EVP_PKEY_EC;
EVP_PKEY_EC,
{ "EC", EVP_PKEY_EC, EC_params, NULL },
ctx = EVP_PKEY_CTX_new_id(EVP_PKEY_EC, NULL);
if (!TEST_ptr(d2i_PublicKey(EVP_PKEY_EC, &pkey2, &q, savelen)))
id = EVP_PKEY_EC;
{ kExampleECKeyDER, sizeof(kExampleECKeyDER), "EC", EVP_PKEY_EC }
{ kExampleECKeyPKCS8_v2, sizeof(kExampleECKeyPKCS8_v2), "EC", EVP_PKEY_EC }
{ kExampleECKeyDER, sizeof(kExampleECKeyDER), "EC", EVP_PKEY_EC, 1, 1, 1, 0 },
{ kExampleECPubKeyDER, sizeof(kExampleECPubKeyDER), "EC", EVP_PKEY_EC, 0, 1,
{ pExampleECParamDER, sizeof(pExampleECParamDER), "EC", EVP_PKEY_EC, 0, 0, 1,
{ kExampleECKeyDER, sizeof(kExampleECKeyDER), EVP_PKEY_EC },
{ kExampleECKey2DER, sizeof(kExampleECKey2DER), EVP_PKEY_EC },
{ EVP_PKEY_EC, ecparam_bin, sizeof(ecparam_bin),
if (!TEST_ptr(pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_EC, NULL))
if (!TEST_ptr(pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_EC, NULL))
&& test_cert_table(EVP_PKEY_EC, SSL_aECDSA, SSL_PKEY_ECC)
if (keyid == EVP_PKEY_EC) {
sig_expected = EVP_PKEY_EC;
static const int validlist2[] = { NID_sha256, EVP_PKEY_RSA, NID_sha512, EVP_PKEY_EC };
static const int validlist3[] = { NID_sha512, EVP_PKEY_EC };
privkey = d2i_PrivateKey(EVP_PKEY_EC, NULL, &p, sizeof(privkeydata));