HTTPS WebGet client with TLS 1.2 and SHA2 support (.NET Compact Framework)

HTTPS WebGet client with TLS 1.2 and SHA2 support (.NET Compact Framework)

HTTPS WebGet client with TLS 1.2 and SHA2 support.

Windows Mobile OS's do not support SHA-2 algorithms which results in inability to validate SHA-2 based certificates so you are unable to connect from these old .NET CF devices. Luckily Rebex HTTPS component solves it by providing custom HttpRequestCreator. This sample demonstrates:

  • Connecting to HTTPS servers (SSL 3.0, TLS 1.0-TLS 1.2 supported) with Rebex HttpRequestCreator.
  • Validating the server certificate (automatic)
  • Using the Rebex HTTPS API to register Rebex HttpRequestCreator.
  • Logging the HTTPS communication to file (various verbose levels available)
  • Fine tuning TLS properties - some slower devices are not able to compute Diffie Hellman on time which results in HTTPS servers closing the connection. Use the DisableDiffieHellman option to workaround it.
  • Sample code

    C#

    // create an instance of Rebex HTTP/HTTPS request creator
    HttpRequestCreator creator = new HttpRequestCreator();
    
    // register the HttpRequestCreator to be used instead of the system implementation
    creator.Register();
    
    // download web page content
    WebRequest request = WebRequest.Create(address);
    WebResponse response = request.GetResponse();
    using (StreamReader sr = new StreamReader(response.GetResponseStream()))
    {
        string body = sr.ReadToEnd();
        tbBody.Text = body;
    }
    response.Close();
    

Included in

See also: