I'm trying programmatically download a page from site yande.re using C# HttpWebRequest. It gives exception "The request was aborted: Could not create SSL/TLS secure channel."
I had already tried different combinations for
ServicePointManager.SecurityProtocol
and nothing of those helped. However everything is OK for any other HTTPS request.
What I had noticed is that I can't open this site in InternetExplorer 10 and MINGW curl returns "301 Moved Permanently" for it. Same time browsers like Firefox, Opera, Chrome have no problems with it. My OS is Windows 7.
So I just wonder what's wrong with yande.re? Or is it me? Can anyone check please. How can I programmatically download anything from it (preferably in C#/C++)?
According to SSLLabs the server support TLS 1.2 and TLS 1.3. TLS 1.3 is not supported by the Microsoft TLS stack in Windows 7. As for TLS 1.2 the server only supports the following cipher suites:
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
Based on the Microsoft documentation these cipher suites are not supported in Windows 7 though (no TLS_ECDHE_RSA_*GCM* cipher suites are supported and no *CHACHA20*). This means any application which use the Windows TLS stack will not work with the server, notably Internet Explorer and C# applications.
Same time browsers like Firefox, Opera, Chrome have no problems with it.
These browsers don't use the Windows TLS stack but NSS (Firefox) and BoringSSL (Opera, Chrome). Thus the limitation of the Windows TLS stack do not matter.
How can I programmatically download anything from it (preferably in C#/C++)?
With C++ you could use OpenSSL as TLS stack which does not have these limitations. Python also uses OpenSSL as TLS stack so it should work too.