pu

Buscar este blog

Mostrando entradas con la etiqueta SSL/TLS. Mostrar todas las entradas
Mostrando entradas con la etiqueta SSL/TLS. Mostrar todas las entradas

miércoles, 30 de marzo de 2022

The request was aborted: Could not create SSL/TLS secure channel - SOLUCION



Hola, ok devuelta otra vez con los errores de  conexión en los webservices antiguos, en estas siguientes líneas muestro el error que obtuve por problemas de SSL. y como lo solucione. me costo encontrar el drama pero era super simple solucionarlo.


Error constante:

The request was aborted: Could not create SSL/TLS secure channel c#

tenia la versión 4.5 del NET Framework.


Solucion:

Coloque esta linea antes del web request mas cambie al Net Framework 4.6.1 y funciono correcto

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;


Aqui les dejo como lo implemente en mi código.

try

{

var request = (HttpWebRequest)WebRequest.Create(requestUrl);

request.Method = method;

request.Timeout = 5000;  //very long response time from Chile. Change in USA accordingly.


if (ApiKey != null)

{

request.Headers.Add("X-MBX-APIKEY", ApiKey);

}

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;


var webResponse = (HttpWebResponse)request.GetResponse();

if (webResponse.StatusCode != HttpStatusCode.OK)

{

throw new Exception($"Did not return OK 200. Returned: {webResponse.StatusCode}");

}


var encoding = ASCIIEncoding.ASCII;

string responseText = null;


using (var reader = new System.IO.StreamReader(webResponse.GetResponseStream(), encoding))

{

responseText = reader.ReadToEnd();

}


return responseText;

}

catch (WebException webEx)

{

if (webEx.Response != null)

{

Encoding encoding = ASCIIEncoding.ASCII;

using (var reader = new System.IO.StreamReader(webEx.Response.GetResponseStream(), encoding))

{

string responseText = reader.ReadToEnd();

throw new Exception(responseText);

}

}

throw;

}

catch

{

return "Error";

}



ok deja tu desahogo o una puteada y así se que te ayude mostro QL. No me agradezcas ya que saque el código de otra parte...