Fix client-initiated renegotiation on OpenSSL 3.0+ (#64531)
authorRadek Zikmund <32671551+rzikm@users.noreply.github.com>
Tue, 1 Feb 2022 18:36:11 +0000 (19:36 +0100)
committerGitHub <noreply@github.com>
Tue, 1 Feb 2022 18:36:11 +0000 (19:36 +0100)
commit53d52884198b15d83e1d9c2ce8009ef2c6a015c2
treef274df5b5c9a462f2b9efd6c0471b5e7ff8ca9a6
parentb94b1df52760ee604d3461eff0df162cb7f636a1
Fix client-initiated renegotiation on OpenSSL 3.0+ (#64531)

OpenSSL 3.0 disables client-initiated renegotiation by default, which makes the server ignore all attempts at renegotiation. This makes the behavior different than with OpenSSL 1.1.1 and earlier, as well as different from windows.

This commit force-enables the client-initiated renegotiation again. All attempts at renegotiation are then handled by the managed code based on the AllowRenegotiation flag in the authentication options.
src/native/libs/System.Security.Cryptography.Native/pal_ssl.c