Re: PHP 7.2.0 Released

From: Date: Mon, 04 Dec 2017 18:36:03 +0000
Subject: Re: PHP 7.2.0 Released
References: 1 2 3 4 5 6 7 8 9  Groups: php.internals 
Request: Send a blank email to internals+get-101230@lists.php.net to get a copy of this message
and to be clear here: a client when connecting to a server configured like below has to respect the cipher order of the server while https://www.ssllabs.com/ssltest/ exists for years to give dministrators of the server some help and which clients are using which cipher [harry@srv-rhsoft:~]$ openssl s_client -connect localhost:443 -servername localhost ............. New, TLSv1.2, Cipher is ECDHE-ECDSA-AES128-GCM-SHA256 Server public key is 256 bit Secure Renegotiation IS supported Compression: NONE Expansion: NONE No ALPN negotiated SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-ECDSA-AES128-GCM-SHA256
________________________________________ Handshake Simulation for servers with ECDSA/RSA dual stack:
OpenSSL 1.0.1l  R        EC 256 (SHA256)       TLS 1.2 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256   ECDH secp256r1  FS
OpenSSL 1.0.2e  R        EC 256 (SHA256)       TLS 1.2 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256   ECDH secp256r1  FS
________________________________________ in case the server has only a RSA certificate: OpenSSL 1.0.1l R RSA 2048 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDH secp256r1 FS OpenSSL 1.0.2e R RSA 2048 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDH secp256r1 FS ________________________________________ SSLHonorCipherOrder On SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA Am 04.12.2017 um 19:18 schrieb lists@rhsoft.net:
Am 04.12.2017 um 18:36 schrieb Sara Golemon:
On Fri, Dec 1, 2017 at 6:35 PM, lists@rhsoft.net <lists@rhsoft.net> wrote:
the main question is why does PHP need to to *anything* here instead hand the TLS handshake completly over to openssl? in that case even PHP5 could perfer TLS1.2 ciphers against a sevrer that orders them on top without touch any line of PHP's code
Because the SSL API in OpenSSL that PHP uses doesn't let you say: "Just give me the best method you can" There may be another SSL API that does, but that's more than just "set the value to any and be done with it"
and how does other software like the apache benchmark tool "ab" this for as long as i can think which is also linked against openssl? [harry@srv-rhsoft:~]$ ab -c 1 -n 1 https://localhost/ This is ApacheBench, Version 2.3 <$Revision: 1807734 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking localhost (be patient).....done Server Software:
Server Hostname:        localhost
Server Port:            443
SSL/TLS Protocol:       TLSv1.2,ECDHE-ECDSA-AES128-GCM-SHA256,256,128
TLS Server Name:        localhost
______________________ [harry@srv-rhsoft:~]$ ldd /usr/bin/ab
         linux-vdso.so.1 (0x00007ffd015cc000)
         libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007fb83e962000)
         libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007fb83e4d7000)
         libaprutil-1.so.0 => /lib64/libaprutil-1.so.0 (0x00007fb83ed96000)
         libapr-1.so.0 => /lib64/libapr-1.so.0 (0x00007fb83ed5a000)
         libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fb83e2b8000)
         libm.so.6 => /lib64/libm.so.6 (0x00007fb83dfa2000)
         libc.so.6 => /lib64/libc.so.6 (0x00007fb83dbcd000)
         libz.so.1 => /lib64/libz.so.1 (0x00007fb83d9b6000)
         libdl.so.2 => /lib64/libdl.so.2 (0x00007fb83d7b2000)
         libuuid.so.1 => /lib64/libuuid.so.1 (0x00007fb83d5ad000)
         libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fb83d377000)
         libexpat.so.1 => /lib64/libexpat.so.1 (0x00007fb83d144000)
         /lib64/ld-linux-x86-64.so.2 (0x00007fb83ebce000)
         libgomp.so.1 => /lib64/libgomp.so.1 (0x00007fb83cf15000)
         libfreebl3.so => /lib64/libfreebl3.so (0x00007fb83cd12000)


« previous php.internals (#101230) next »