https://bugs.winehq.org/show_bug.cgi?id=35937
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|eDCAA (.NET 4.0 app) |eDCAA (.NET 4.0 app) |crashes on startup with |self-update fails with |Wine-Mono |Wine-Mono, reporting | |'Mono.Security.Protocol.Tls | |.TlsException: The | |authentication or | |decryption has failed.' URL|http://brightemo.co.uk/down |https://web.archive.org/web |load/eDCAA.exe |/20180902072631/http://brig | |htemo.co.uk/download/eDCAA. | |exe
--- Comment #6 from Anastasius Focht focht@gmx.net --- Hello folks,
updating to use stable download links via Internet Archive:
https://web.archive.org/web/20180902072631/http://brightemo.co.uk/download/e...
The app is using plain 'System.Net.WebClient':
--- snip --- ...
private void UpdateAreas(bool update) { this.SetProgress(this.progressBar1, 0); this.ChangeSize(55, true); this.Download("https://brightemo.co.uk/api-v3/Areas.php", "Data\Areas.json", "Downloading Areas Update.."); }
... private void Download(string path, string filename, string status) { try { this.SetDownloadStatus(0); this.SetProgress(this.progressBar1, 0); this.SetDownloadStatus(status); WebClient webClient = new WebClient(); // ISSUE: method pointer webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler((object) this, __methodptr(client_DownloadProgressChanged)); // ISSUE: method pointer webClient.DownloadFileCompleted += new AsyncCompletedEventHandler((object) this, __methodptr(client_DownloadFileCompleted)); webClient.DownloadFileAsync(new Uri(path), filename); do ; while (webClient.IsBusy); } catch (Exception ex) { Common.ShowError("Error occured when downloading (" + status + ")..", ex); } } --- snip ---
Use WINE_MONO_TRACE and apply filters to limit output:
--- snip --- $ WINE_MONO_TRACE=N:Mono.Net.Security,N:Mono.Security.Protocol.Tls wine ./eDCAA.exe --- snip ---
For validation of SSL connection outside of the app use 'curl' or any other ssl-debugging tools. Make sure you force TLSv1.0 protocol since Wine-Mono doesn't support TLSv1.2 (BTLS not built-in, although supported since Mono 4.8.0).
--- snip --- $ curl -iv https://brightemo.co.uk --tlsv1.0 * Rebuilt URL to: https://brightemo.co.uk/ * Trying 104.28.20.171... * TCP_NODELAY set * Connected to brightemo.co.uk (104.28.20.171) port 443 (#0) * ALPN, offering h2 * ALPN, offering http/1.1 * successfully set certificate verify locations: CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none * TLSv1.0 (OUT), TLS handshake, Client hello (1): * TLSv1.0 (IN), TLS handshake, Server hello (2): * TLSv1.0 (IN), TLS handshake, Certificate (11): * TLSv1.0 (IN), TLS handshake, Server key exchange (12): * TLSv1.0 (IN), TLS handshake, Server finished (14): * TLSv1.0 (OUT), TLS handshake, Client key exchange (16): * TLSv1.0 (OUT), TLS change cipher, Client hello (1): * TLSv1.0 (OUT), TLS handshake, Finished (20): * TLSv1.0 (IN), TLS handshake, Finished (20): * SSL connection using TLSv1.0 / ECDHE-ECDSA-AES128-SHA * ALPN, server accepted to use h2 * Server certificate: * subject: OU=Domain Control Validated; OU=PositiveSSL Multi-Domain; CN=sni202748.cloudflaressl.com * start date: Jul 2 00:00:00 2019 GMT * expire date: Jan 8 23:59:59 2020 GMT * subjectAltName: host "brightemo.co.uk" matched cert's "brightemo.co.uk" * issuer: C=GB; ST=Greater Manchester; L=Salford; O=COMODO CA Limited; CN=COMODO ECC Domain Validation Secure Server CA 2 * SSL certificate verify ok. * Using HTTP2, server supports multi-use * Connection state changed (HTTP/2 confirmed) * Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0 * Using Stream ID: 1 (easy handle 0x5636e0a39270)
GET / HTTP/2 Host: brightemo.co.uk User-Agent: curl/7.59.0 Accept: */*
--- snip ---
Optionally capture the sessions using Wireshark when running the app and curl.
$ wine --version wine-4.11-308-g201d13a3c3
Regards