-
Fixed bug
#41631 (socket timeouts not honored in blocking SSL reads) (Daniel Lowrey).
-
Fixed missing type checks in OpenSSL options (Yussuf Khalil, Stas).
-
Fixed bug
#67609 (TLS connections fail behind HTTP proxy).
-
Fixed broken build against OpenSSL older than 0.9.8 where ECDH unavailable.
-
Fixed bug
#67666 (Subject altNames doesn't support wildcard matching).
-
Fixed bug
#67224 (Fall back to crypto_type from context if not specified explicitly in stream_socket_enable_crypto).
-
Fixed bug
#65698 (certificates validity parsing does not work past 2050).
-
Fixed bug
#66636 (openssl_x509_parse warning with V_ASN1_GENERALIZEDTIME).
-
Peer certificates now verified by default in client socket operations (RFC: https://wiki.php.net/rfc/tls-peer-verification).
-
New openssl.cafile and openssl.capath ini directives.
-
Added crypto_method option for the ssl stream context.
-
Added certificate fingerprint support.
-
Added explicit TLSv1.1 and TLSv1.2 stream transports.
-
Fixed bug
#65729 (CN_match gives false positive).
-
Peer name verification matches SAN DNS names for certs using the Subject Alternative Name x509 extension.
-
Fixed segfault when built against OpenSSL>=1.0.1 (Daniel Lowrey)
-
Added SPKAC support.
-
Fallback to Windows CA cert store for peer verification if no openssl.cafile ini directive or "cafile" SSL context option specified in Windows.
-
The openssl.cafile and openssl.capath ini directives introduced in alpha2 now have PHP_INI_PERDIR accessibility (was PHP_INI_ALL).
-
New "peer_name" SSL context option replaces "CN_match" (which still works as before but triggers E_DEPRECATED).
-
Fixed segfault when accessing non-existent context for client SNI use (Daniel Lowrey)
-
Fixed bug
#66501 (Add EC key support to php_openssl_is_private_key).
-
Fixed Bug #47030 (add new boolean "verify_peer_name" SSL context option allowing clients to verify cert names separately from the cert itself). "verify_peer_name" is enabled by default for client streams.
-
Fixed Bug #65538 ("cafile" SSL context option now supports stream wrappers).
-
New openssl_get_cert_locations() function to aid CA file and peer verification debugging.
-
Encrypted stream wrappers now disable TLS compression by default.
-
New "capture_session_meta" SSL context option allows encrypted client and server streams access to negotiated protocol/cipher information.
-
New "honor_cipher_order" SSL context option allows servers to prioritize cipher suites of their choosing when negotiating SSL/TLS handshakes.
-
New "single_ecdh_use" and "single_dh_use" SSL context options allow for improved forward secrecy in encrypted stream servers.
-
New "dh_param" SSL context option allows stream servers control over the parameters when negotiating DHE cipher suites.
-
New "ecdh_curve" SSL context option allowing stream servers to specify the curve to use when negotiating ephemeral ECDHE ciphers (defaults to NIST P-256).
-
New "rsa_key_size" SSL context option gives stream servers control over the key size (in bits) used for RSA key agreements.
-
Crypto methods for encrypted client and server streams now use bitwise flags for fine-grained protocol support.
-
Added new tlsv1.0 stream wrapper to specify TLSv1 client/server method. tls wrapper now negotiates TLSv1, TLSv1.1 or TLSv1.2.
-
Encrypted client streams now enable SNI by default.
-
Encrypted streams now prioritize ephemeral key agreement and high strength ciphers by default.
-
New OPENSSL_DEFAULT_STREAM_CIPHERS constant exposes default cipher list.
-
New STREAM_CRYPTO_METHOD_* constants for enhanced control over the crypto methods negotiated encrypted server/client sessions.
-
Encrypted stream servers now automatically mitigate potential DoS vector arising from client-initiated TLS renegotiation. New "reneg_limit", "reneg_window" and "reneg_limit_callback" SSL context options for custom renegotiation limiting control.
-
Fixed memory leak in windows cert verification on verify failure.
-
Peer certificate capturing via SSL context options now functions even if peer verification fails.
-
Encrypted TLS servers now support the server name indication TLS extension via the new "SNI_server_certs" SSL context option.
-
Fixed bug
#66833 (Default disgest algo is still MD5, switch to SHA1).
-
Fixed bug
#66942 (memory leak in openssl_seal()).
-
Fixed bug
#66952 (memory leak in openssl_open()).
-
Fixed bug
#66840 (Fix broken build when extension built separately).