Mono 5.14.0 и TLS 1.2 "Нет таких BLS-провайдеров TLS" - PullRequest
0 голосов
/ 28 февраля 2019

Если я подключаюсь к конечной точке 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

...