Если я подключаюсь к конечной точке TLS 1.0 - 1.2 с HttpClient и Mono 5.14.0 , я получаю исключение "Нет такого поставщика TLS: btls
."
No such TLS Provider: `btls'.
at Mono.Net.Security.MonoTlsProviderFactory.LookupProvider (System.String name, System.Boolean throwOnError)
as Mono.Net.Security.MonoTlsProviderFactory.CreateDefaultProviderImpl ()
at Mono.Net.Security.MonoTlsProviderFactory.InitializeInternal ()
Если я поменяю поставщика TLS на прежний, я могу подключиться только к конечной точке с TLS 1.0, конечная точка с TLS 1.0 - 1.2 не работает.
MONO_TLS_PROVIDER=legacy
Я неПонять, как провайдер blts неизвестен, так как Mono 4.8.0 - это провайдер btls из проекта BoringSSL.смотрите здесь .
Если я взгляну на MonoTlsProviderFactory.cs , чтобы понять это поведение, я наткнусь на строку, которую я не понимаю.
internal extern static bool IsBtlsSupported ();
см. здесь и есть символ MONO_FEATURE_BTLS
, который является условием для btls.Но Как я могу узнать, скомпилирована ли моя версия Mono с этим символом?
Есть похожие случаи, но с более старой версией Mono