Hi,
I am running Mono on CentOS 6 (binaries downloaded from official Mono yum repo) 
and could not get a connection to TLS 1.2 servers.
The documentation says ‘since 4.8 TLS 1.2 is natively supported’ but I couldn’t 
get it to work.
What I am missing to get TLS 1.2 on Mono? Is the only option to recompile from 
sources???

How to reproduce:
$> export MONO_TLS_PROVIDER=legacy
$> csharp -e 'Console.WriteLine (new System.Net.WebClient ().DownloadString 
("https://www.howsmyssl.com/";)'
I get back a not so nice message:
Bad Your client is using TLS 1.0, which is very old, possibly susceptible to 
the BEAST attack, and doesn't have the best cipher suites available on it. 
Additions like AES-GCM, and SHA256 to replace MD5-SHA-1 are unavailable to a 
TLS 1.0 client as well as many more modern cipher suites.
Trying with the BoringTLS flag yields an even worse error:
export MONO_TLS_PROVIDER=btls

Output:
System.Net.WebException:
Error: ConnectFailure (TLS Support not available.)
---> System.NotSupportedException: TLS Support not available.
---> System.NotSupportedException: No such TLS Provider: `btls'.
  at Mono.Net.Security.MonoTlsProviderFactory.LookupProviderType (System.String 
name, System.Boolean throwOnError) [0x00032] in 
<d2abb5dd463e4257bc4bb6c9614f73e7>:0
  at Mono.Net.Security.MonoTlsProviderFactory.LookupProvider (System.String 
name, System.Boolean throwOnError) [0x00000] in 
<d2abb5dd463e4257bc4bb6c9614f73e7>:0
  at Mono.Net.Security.MonoTlsProviderFactory.TryDynamicLoad () [0x00019] in 
<d2abb5dd463e4257bc4bb6c9614f73e7>:0
  at Mono.Net.Security.MonoTlsProviderFactory.CreateDefaultProviderImpl () 
[0x00000] in <d2abb5dd463e4257bc4bb6c9614f73e7>:0
  at Mono.Net.Security.MonoTlsProviderFactory.InitializeInternal () [0x0001a] 
in <d2abb5dd463e4257bc4bb6c9614f73e7>:0
   --- End of inner exception stack trace ---
  at Mono.Net.Security.MonoTlsProviderFactory.InitializeInternal () [0x0002e] 
in <d2abb5dd463e4257bc4bb6c9614f73e7>:0
  at Mono.Net.Security.MonoTlsProviderFactory.GetProviderInternal () [0x00010] 
in <d2abb5dd463e4257bc4bb6c9614f73e7>:0
  at Mono.Net.Security.MonoTlsStream..ctor (System.Net.HttpWebRequest request, 
System.Net.Sockets.NetworkStream networkStream) [0x00027] in 
<d2abb5dd463e4257bc4bb6c9614f73e7>:0
  at System.Net.WebConnection.CreateStream (System.Net.HttpWebRequest request) 
[0x00066] in <d2abb5dd463e4257bc4bb6c9614f73e7>:0
   --- End of inner exception stack trace ---
  at System.Net.WebClient.DownloadDataInternal (System.Uri address, 
System.Net.WebRequest& request) [0x00072] in 
<d2abb5dd463e4257bc4bb6c9614f73e7>:0
  at System.Net.WebClient.DownloadString (System.Uri address) [0x00020] in 
<d2abb5dd463e4257bc4bb6c9614f73e7>:0
  at System.Net.WebClient.DownloadString (System.String address) [0x00016] in 
<d2abb5dd463e4257bc4bb6c9614f73e7>:0
  at <InteractiveExpressionClass>.Host (System.Object& $retval) [0x00005] in 
<61903e49f3474c469d10aac989d2bbea>:0
  at Mono.CSharp.Evaluator.Evaluate (System.String input, System.Object& 
result, System.Boolean& result_set) [0x00038] in 
<26092501e18f4d6bbb84790c331dcb20>:0
  at Mono.CSharpShell.Evaluate (System.String input) [0x00000] in 
<9c2a1356e8c3450d8aa1583549a8198e>:0

System information:
Linux 2.6.32-642.1.1.el6.x86_64 #1 SMP Fri May 6 14:54:05 EDT 2016 x86_64 
x86_64 x86_64 GNU/Linux

Mono Version:
Mono JIT compiler version 5.0.1.1 (2017-02/5077205 Wed May 24 13:08:40 UTC 2017)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. 
www.mono-project.com<http://www.mono-project.com>
        TLS:           __thread
        SIGSEGV:       altstack
       Notifications: epoll
        Architecture:  amd64
        Disabled:      none
        Misc:          softdebug
        LLVM:          supported, not enabled.
        GC:            sgen (concurrent by default)

Regards,
Frederic

This email and its content belong to Ingenico Group. The enclosed information 
is confidential and may not be disclosed to any unauthorized person. If you 
have received it by mistake do not forward it and delete it from your system. 
Cet email et son contenu sont la propriété du Groupe Ingenico. L’information 
qu’il contient est confidentielle et ne peut être communiquée à des personnes 
non autorisées. Si vous l’avez reçu par erreur ne le transférez pas et 
supprimez-le.
_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.dot.net/mailman/listinfo/mono-list

Reply via email to