version 1.84, 2010/09/08 03:54:36 |
version 1.85, 2010/10/28 11:22:09 |
|
|
prv = key_new(KEY_UNSPEC); |
prv = key_new(KEY_UNSPEC); |
prv->ecdsa = EVP_PKEY_get1_EC_KEY(pk); |
prv->ecdsa = EVP_PKEY_get1_EC_KEY(pk); |
prv->type = KEY_ECDSA; |
prv->type = KEY_ECDSA; |
prv->ecdsa_nid = key_ecdsa_group_to_nid( |
if ((prv->ecdsa_nid = key_ecdsa_key_to_nid(prv->ecdsa)) == -1 || |
EC_KEY_get0_group(prv->ecdsa)); |
key_curve_nid_to_name(prv->ecdsa_nid) == NULL || |
if (key_curve_nid_to_name(prv->ecdsa_nid) == NULL) { |
key_ec_validate_public(EC_KEY_get0_group(prv->ecdsa), |
key_free(prv); |
|
prv = NULL; |
|
} |
|
if (key_ec_validate_public(EC_KEY_get0_group(prv->ecdsa), |
|
EC_KEY_get0_public_key(prv->ecdsa)) != 0 || |
EC_KEY_get0_public_key(prv->ecdsa)) != 0 || |
key_ec_validate_private(prv->ecdsa) != 0) { |
key_ec_validate_private(prv->ecdsa) != 0) { |
error("%s: bad ECDSA key", __func__); |
error("%s: bad ECDSA key", __func__); |
|
|
} |
} |
name = "ecdsa w/o comment"; |
name = "ecdsa w/o comment"; |
#ifdef DEBUG_PK |
#ifdef DEBUG_PK |
if (prv->ecdsa != NULL) |
if (prv != NULL && prv->ecdsa != NULL) |
key_dump_ec_key(prv->ecdsa); |
key_dump_ec_key(prv->ecdsa); |
#endif |
#endif |
} else { |
} else { |