diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h index 3770c6e7e..2b075576a 100644 --- a/include/openssl/ssl.h +++ b/include/openssl/ssl.h @@ -1095,6 +1095,9 @@ OPENSSL_EXPORT int SSL_CIPHER_is_block_cipher(const SSL_CIPHER *cipher); /* SSL_CIPHER_is_ECDSA returns one if |cipher| uses ECDSA. */ OPENSSL_EXPORT int SSL_CIPHER_is_ECDSA(const SSL_CIPHER *cipher); +/* SSL_CIPHER_is_DHE returns one if |cipher| uses DHE. */ +OPENSSL_EXPORT int SSL_CIPHER_is_DHE(const SSL_CIPHER *cipher); + /* SSL_CIPHER_is_ECDHE returns one if |cipher| uses ECDHE. */ OPENSSL_EXPORT int SSL_CIPHER_is_ECDHE(const SSL_CIPHER *cipher); diff --git a/ssl/ssl_cipher.c b/ssl/ssl_cipher.c index 74645eddc..e78374b9b 100644 --- a/ssl/ssl_cipher.c +++ b/ssl/ssl_cipher.c @@ -1691,6 +1691,10 @@ int SSL_CIPHER_is_ECDSA(const SSL_CIPHER *cipher) { return (cipher->algorithm_auth & SSL_aECDSA) != 0; } +int SSL_CIPHER_is_DHE(const SSL_CIPHER *cipher) { + return (cipher->algorithm_mkey & SSL_kDHE) != 0; +} + int SSL_CIPHER_is_ECDHE(const SSL_CIPHER *cipher) { return (cipher->algorithm_mkey & SSL_kECDHE) != 0; }