You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
SslStream delayed client certificate with legacy OpenSSL #55761
#54692 added support for NegotiateClientCertificateAsync on Linux. This seems to work reliably only with OpenSSL 1.1.1 (current LTS) We should investigate the failures on older OpenSSL versions (1.0.0 and 1.1.0) and possibly throw PNSP.
It would be nice to re-test with OpenSSL 3.0 to make sure we did not use anything marked as deprecated or missing in 3.0.
Triage: We should add the PNSE and check OpenSSL 3.0 for 6.0 release.
Then we can move it to Future or decide to close as the legacy OpenSSL versions are being pushed out of distros.
.NET SslStream authenticated as server (on OpenSsl 1.0.0t).
OpenSsl s_clients (non-.NET): OpenSSL 1.0.0t, OpenSSL 1.1.1k, OpenSSL 3.0.0-beta1
The above configuration works as expected.
If we use SslStream client with OpenSSL 1.0.0/1.1.0, then it fails.
The SslStream client works only with OpenSSL 1.1.1.
SslStream authenticated as client is without change, throwing PNSE (when using openssl version smaller than 1.1.1) would
be breaking change
be not nice as the exception would be triggered by server (when requesting certificate) and would depends on server. Instead client shouldn't ignore server HELLO request.
Triage: Given that we didn't throw PNSE in 5.0, but relied on server reaction to unsupported feature (e.g. refused connection, etc.), it is fine to keep it in 6.0 the same way for certain older OpenSSL versions (which are on older distros which in time will be out of support anyway).
If there is business demand in future, we can reconsider.
Activity
wfurt commentedon Jul 15, 2021
related to #49346
karelz commentedon Jul 15, 2021
Triage: We should add the PNSE and check OpenSSL 3.0 for 6.0 release.
Then we can move it to Future or decide to close as the legacy OpenSSL versions are being pushed out of distros.
aik-jahoda commentedon Jul 27, 2021
Tested following configuration:
The above configuration works as expected.
If we use SslStream client with OpenSSL 1.0.0/1.1.0, then it fails.
The SslStream client works only with OpenSSL 1.1.1.
SslStream authenticated as client is without change, throwing PNSE (when using openssl version smaller than 1.1.1) would
karelz commentedon Jul 27, 2021
Triage: Given that we didn't throw PNSE in 5.0, but relied on server reaction to unsupported feature (e.g. refused connection, etc.), it is fine to keep it in 6.0 the same way for certain older OpenSSL versions (which are on older distros which in time will be out of support anyway).
If there is business demand in future, we can reconsider.
Close