Mono 5.14.0 и TLS 1.2 "Нет таких BLS-провайдеров TLS"

Если я подключаюсь к конечной точке 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 Символ, который является условием для BTL. Но как я могу узнать, скомпилирована ли моя версия Mono с этим символом?

Есть похожие случаи, но с более старой версией Mono

0 ответов

Другие вопросы по тегам