2016-06-09 20:40:13,892 [10] ERROR Helpmebot.Repositories.ShortUrlCacheRepository [(null)] - Error encountered resolving URL System.Net.WebException: Error getting response stream (Write: The authentication or decryption has failed.): SendFailure ---> System.IO.IOException: The authentication or decryption has failed. ---> Mono.Security.Protocol.Tls.TlsException: The authentication or decryption has failed. at Mono.Security.Protocol.Tls.RecordProtocol.ProcessAlert (AlertLevel alertLevel, AlertDescription alertDesc) [0x00000] in <filename unknown>:0 at Mono.Security.Protocol.Tls.RecordProtocol.InternalReceiveRecordCallback (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 --- End of inner exception stack trace --- at Mono.Security.Protocol.Tls.SslStreamBase.AsyncHandshakeCallback (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 --- End of inner exception stack trace --- at System.Net.HttpWebRequest.EndGetResponse (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 at System.Net.HttpWebRequest.GetResponse () [0x00000] in <filename unknown>:0 at Helpmebot.Services.UrlShorteningService.GetShortUrl (System.String longUrl) [0x00000] in <filename unknown>:0 at Helpmebot.Repositories.ShortUrlCacheRepository+<GetShortUrl>c__AnonStorey0.<>m__0 (ISession session) [0x00000] in <filename unknown>:0 at Helpmebot.Repositories.RepositoryBase`1[Helpmebot.Model.ShortUrlCacheEntry].Transactionally (System.Action`1 callback, IsolationLevel level) [0x00000] in <filename unknown>:0
Description
Description
Event Timeline
Comment Actions
This has been "fixed" by implementing a goo.gl URL shortener client as well, but this is realistically an "ostrich" solution.
Either:
- Mono / Xamarin need to pull their finger out and support modern crypto like TLS 1.1, TLS 1.2, and ECDH.
- We need to use a crypto library that supports ECDH + HTTP
- We need to use a crypto library that supports ECDH and roll our own HTTP
- We need to create an SSL-stripping proxy, with proper SSL cert validation
- We need to move away from Mono
I mean, TLS 1.1 is ten years old.
Obviously, Mono fixing this is preferred.