Потреблять HTTPS для API-интерфейса REST, разработанные в C#
Всем Привет,
Мы уже интегрировали наше приложение с одной третьей стороной. Мы потребляем их Rest API, разработанный на Java из приложения C#.
Они отключили все протоколы на сервере, отличные от TSL1.2(т. е. SSL2, TSL1.0, TSL1.1)
Когда мы вызываем Rest API, мы получаем ошибку. Пожалуйста, найдите ниже мой код
Что я уже пробовал:
string response; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls|SecurityProtocolType.Ssl3; ServicePointManager.ServerCertificateValidationCallback = delegate(object obj, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) { return true; }; WebClient client = new WebClient(); string credentials; credentials = Convert.ToBase64String(Encoding.ASCII.GetBytes("gujarat_ws_client" + ":" + "guj@r@t_C|ient")); client.Headers.Add("Authorization", "Basic Z3VqYXJhdF93c19jbGllbnQ6Z3VqQHJAdF9DfGllbnQ="); try { var strEaushadhiURI = "https://xxx.com/"; System.Net.ServicePointManager.ServerCertificateValidationCallback = (object se, System.Security.Cryptography.X509Certificates.X509Certificate cert, System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors sslerror) => true; response = client.DownloadString(new Uri(strEaushadhiURI + "/AMH/" + txtVoucherNumber.Text.Trim())); System.Net.ServicePointManager.ServerCertificateValidationCallback = null; TextBox1.Text = response; } catch (Exception ex) { TextBox1.Text = ex.Message; }
Но я получаю ошибку :
The remote server returned an error: (401) Unauthorized.