mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-08-05 21:54:41 +02:00
Check other names when FFDHE returns NULL
This commit is contained in:
25
src/ssl.c
25
src/ssl.c
@@ -16522,26 +16522,33 @@ static const char* wolfssl_ffdhe_name(word16 group)
|
|||||||
*/
|
*/
|
||||||
const char* wolfSSL_get_curve_name(WOLFSSL* ssl)
|
const char* wolfSSL_get_curve_name(WOLFSSL* ssl)
|
||||||
{
|
{
|
||||||
|
const char* cName = NULL;
|
||||||
|
|
||||||
if (ssl == NULL)
|
if (ssl == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
#ifdef HAVE_FFDHE
|
#ifdef HAVE_FFDHE
|
||||||
if (ssl->namedGroup != 0)
|
if (ssl->namedGroup != 0) {
|
||||||
return wolfssl_ffdhe_name(ssl->namedGroup);
|
cName = wolfssl_ffdhe_name(ssl->namedGroup);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (cName == NULL) {
|
||||||
#ifdef HAVE_CURVE25519
|
#ifdef HAVE_CURVE25519
|
||||||
if (ssl->ecdhCurveOID == ECC_X25519_OID)
|
if (ssl->ecdhCurveOID == ECC_X25519_OID) {
|
||||||
return "X25519";
|
cName = "X25519";
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_ECC
|
#ifdef HAVE_ECC
|
||||||
if (ssl->ecdhCurveOID == 0)
|
if (ssl->ecdhCurveOID != 0 && cName == NULL) {
|
||||||
return NULL;
|
cName = wc_ecc_get_name(wc_ecc_get_oid(ssl->ecdhCurveOID, NULL,
|
||||||
return wc_ecc_get_name(wc_ecc_get_oid(ssl->ecdhCurveOID, NULL, NULL));
|
NULL));
|
||||||
#else
|
}
|
||||||
return NULL;
|
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
return cName;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user