Uh oh!
There was an error while loading. Please reload this page.
[release/6.0] make sure OpenSSL is initialized before Tls13Supported code runs - #64252
Conversation
ghost
commented
Jan 25, 2022
Tagging subscribers to this area: @dotnet/ncl, @vcsjones Issue DetailsThis back port of #61891 Customer ImpactThe issue described in #61891 impacts use of Regressionyes. This was introduced in 6.0 TestingTesting was manual as the behavior depends on loading native ship and sequence of operations - both happen bore our test even start. I used the sample code form #62973 and debugger to verify that the properly is properly set. Risksmall. This beasicly makes sure OpenSSL is initialized before we use it.
|
This back port of #62973
Fixes#61891
Customer Impact
Customer reported regression. When customer uses class
System.Net.Security.CipherSuitesPolicyearly in the process it will throw exception and it will also prevent ANY further usage of TLS 1.3 in that process.The root cause is bad dependency of static constructors which won't initialize OpenSSL in time. TLS 1.3 detection will fail without initialized OpenSSL and the (failed) result will be stored in a static variable.
Regression
Yes, it was introduced in 6.0
Testing
Testing was manual as the behavior depends on loading native ship and sequence of operations - both happen before our test even start. I used the sample code from #62973 and debugger to verify that the property is properly set.
Risk
Small. This basically makes sure OpenSSL is initialized before we use it.