version 1.19, 2022/08/30 20:40:14 |
version 1.20, 2022/08/31 07:12:30 |
|
|
const char *cname; |
const char *cname; |
EVP_PKEY *pkey; |
EVP_PKEY *pkey; |
EC_KEY *ec; |
EC_KEY *ec; |
|
const EC_GROUP *group; |
int nid; |
int nid; |
|
|
if (!SSL_get_server_tmp_key(s, &pkey)) |
if (!SSL_get_server_tmp_key(s, &pkey)) |
|
|
break; |
break; |
|
|
case EVP_PKEY_EC: |
case EVP_PKEY_EC: |
ec = EVP_PKEY_get1_EC_KEY(pkey); |
if ((ec = EVP_PKEY_get0_EC_KEY(pkey)) == NULL) |
nid = EC_GROUP_get_curve_name(EC_KEY_get0_group(ec)); |
goto err; |
EC_KEY_free(ec); |
if ((group = EC_KEY_get0_group(ec)) == NULL) |
|
goto err; |
|
|
|
nid = EC_GROUP_get_curve_name(group); |
|
|
if ((cname = EC_curve_nid2nist(nid)) == NULL) |
if ((cname = EC_curve_nid2nist(nid)) == NULL) |
cname = OBJ_nid2sn(nid); |
cname = OBJ_nid2sn(nid); |
|
|
|
|
EVP_PKEY_bits(pkey)); |
EVP_PKEY_bits(pkey)); |
} |
} |
|
|
|
err: |
EVP_PKEY_free(pkey); |
EVP_PKEY_free(pkey); |
return 1; |
return 1; |
} |
} |