When establishing an https connection via HttpWebRequest in a C# application where is the list of available ciphers suites that are provided in the SSL handshake stored on the server (2008R2)? Is it a registry setting or how is this determined?
The C# code is just a simple
HttpWebRequest WebReq = (HttpWebRequest)WebRequest.Create(Uri);
WebReq.Method = "GET";
HttpWebResponse WebResp = (HttpWebResponse)WebReq.GetResponse();
The issue I am having is that when using IE from the server the list of ciphers provided is different to what is being provided by the C# application (As captured by wireshark.) As such the C# based connection if failing as the Server supports and wants to use TLS_RSA_WITH_RC4_128_SHA which is not being provided by C# app but is being provided by browser SSL handshake.
Using the same code on other servers shows that TLS_RSA_WITH_RC4_128_SHA is being offered in the SSL handshake by the C# app so it leads me to believe that there is something environmental on that particular server but where and how this is controlled is not something I have been able to find.
I would post images of the wireshark captures to show the difference between C# application and IE SSL handshake Client Hello Cipher suite list but I have low rep points.