Merge pull request #2290 from kaleb-himes/ZD-5253-X25519

Support CURVE25519 in `get_curve_name` when HAVE_ECC not defined
This commit is contained in:
toddouska
2019-06-24 15:37:34 -07:00
committed by GitHub

View File

@ -16522,21 +16522,31 @@ 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
#ifdef HAVE_CURVE25519
if (ssl->ecdhCurveOID == ECC_X25519_OID && cName == NULL) {
cName = "X25519";
}
#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,
if (ssl->ecdhCurveOID == ECC_X25519_OID) NULL));
return "X25519"; }
return wc_ecc_get_name(wc_ecc_get_oid(ssl->ecdhCurveOID, NULL, NULL));
#else
return NULL;
#endif #endif
return cName;
} }
#endif #endif