version 1.2, 2010/09/09 10:45:45 |
version 1.3, 2010/09/22 05:01:29 |
|
|
int |
int |
kex_ecdh_name_to_nid(const char *kexname) |
kex_ecdh_name_to_nid(const char *kexname) |
{ |
{ |
int ret; |
|
|
|
if (strlen(kexname) < sizeof(KEX_ECDH_SHA2_STEM) - 1) |
if (strlen(kexname) < sizeof(KEX_ECDH_SHA2_STEM) - 1) |
fatal("%s: kexname too short \"%s\"", __func__, kexname); |
fatal("%s: kexname too short \"%s\"", __func__, kexname); |
ret = key_curve_name_to_nid(kexname + sizeof(KEX_ECDH_SHA2_STEM) - 1); |
return key_curve_name_to_nid(kexname + sizeof(KEX_ECDH_SHA2_STEM) - 1); |
if (ret == -1) |
|
fatal("%s: unsupported curve negotiated \"%s\"", __func__, |
|
kexname); |
|
return ret; |
|
} |
} |
|
|
const EVP_MD * |
const EVP_MD * |
|
|
{ |
{ |
int nid = kex_ecdh_name_to_nid(kexname); |
int nid = kex_ecdh_name_to_nid(kexname); |
|
|
|
if (nid == -1) |
|
fatal("%s: unsupported ECDH curve \"%s\"", __func__, kexname); |
return key_ec_nid_to_evpmd(nid); |
return key_ec_nid_to_evpmd(nid); |
} |
} |
|
|