com php-src: Strengthen default cipher list: ext/openssl/openssl.c
| From: | rdlowrey@php.net | Date: | Fri, 21 Feb 2014 00:10:06 +0000 |
| Subject: | com php-src: Strengthen default cipher list: ext/openssl/openssl.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-76147@lists.php.net to get a copy of this message | ||
Commit: 225f534b1ae30b9e843c2531d3bdd38aa8ca84f7
Author: Daniel Lowrey <rdlowrey@php.net> Tue, 11 Feb 2014 05:26:08 -0700
Parents: 5d0d88d1f2202896d62c21d0043264487fb12785
Branches: PHP-5.6
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=225f534b1ae30b9e843c2531d3bdd38aa8ca84f7
Log:
Strengthen default cipher list
Changed paths:
M ext/openssl/openssl.c
Diff:
diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c
index 04d8b5e..ef81a85 100755
--- a/ext/openssl/openssl.c
+++ b/ext/openssl/openssl.c
@@ -83,6 +83,14 @@
#define HAVE_EVP_PKEY_EC 1
#endif
+#define PHP_OPENSSL_DEFAULT_STREAM_CIPHERS
"ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:" \
+ "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:" \
+ "DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:"
\
+ "ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:"
\
+ "ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:"
\
+ "DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:"
\
+ "AES256-GCM-SHA384:AES128:AES256:HIGH:!SSLv2:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!RC4:!ADH"
+
/* FIXME: Use the openssl constants instead of
* enum. It is now impossible to match real values
* against php constants. Also sorry to break the
@@ -1151,6 +1159,9 @@ PHP_MINIT_FUNCTION(openssl)
REGISTER_LONG_CONSTANT("OPENSSL_NO_PADDING", RSA_NO_PADDING, CONST_CS|CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("OPENSSL_PKCS1_OAEP_PADDING", RSA_PKCS1_OAEP_PADDING,
CONST_CS|CONST_PERSISTENT);
+ /* Informational stream wrapper constants */
+ REGISTER_STRING_CONSTANT("OPENSSL_DEFAULT_STREAM_CIPHERS",
PHP_OPENSSL_DEFAULT_STREAM_CIPHERS, CONST_CS|CONST_PERSISTENT);
+
/* Ciphers */
#ifndef OPENSSL_NO_RC2
REGISTER_LONG_CONSTANT("OPENSSL_CIPHER_RC2_40", PHP_OPENSSL_CIPHER_RC2_40,
CONST_CS|CONST_PERSISTENT);
@@ -5339,7 +5350,7 @@ SSL *php_SSL_new_from_context(SSL_CTX *ctx, php_stream *stream TSRMLS_DC) /*
{{{
GET_VER_OPT_STRING("ciphers", cipherlist);
if (!cipherlist) {
- cipherlist = "DEFAULT";
+ cipherlist = PHP_OPENSSL_DEFAULT_STREAM_CIPHERS;
}
if (SSL_CTX_set_cipher_list(ctx, cipherlist) != 1) {
return NULL;