Prendre en compte TLS 1.2 en ASP.NET



Si vous rencontrez cette erreur :



The underlying connection was closed: An unexpected error occurred on a receive.



en essayant de faire un paiement PayPal avec ce code : 




WebRequest request = WebRequest.Create("https://api-3t.paypal.com/nvp");


request.Method = "POST";


request.ContentType = "application/x-www-form-urlencoded";


request.ContentLength = postData.ToString().Length;


var sw = new StreamWriter(request.GetRequestStream());


sw.Write(postData.ToString());


sw.Close();




WebResponse response = request.GetResponse();





(pour le code complet d'un paiement PayPal en asp.net voir cet article : http://ghislainmesse.blogspot.fr/2016/07/integrer-le-paiement-paypal-dans-un.html)





C'est que votre serveur ne prend pas en compte TLS 1.2.





Soit vous installez asp.net 4.5 ou supérieur, soit vous ajoutez cette ligne en début de code :





protected void Page_Load(object sender, EventArgs e)


{


ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;






        ….


}



P.S. : ne pas oublier d'ajouter cette clause dans l'entête du code : using System.Net;




Commentaires

Posts les plus consultés de ce blog

The vaccine is not the right technology

Le vaccin n’est pas la bonne technologie

Scénario d'une gestion durable de l'humanité imaginée par un informaticien