HTTP Request must use TLS Protocol version 1.2

Hi,

In an AX2009 installation I have a HTTP request, to validate addresses through a UPS web service. This web service no longer accept TLS protocol version 1.0.

httpRequest = System.Net.WebRequest::Create(parameters.URL);
httpRequest.set_Method(‘POST’);
httpRequest.set_ContentType(‘application/x-www-form-urlencoded’);
httpRequest.set_ContentLength(data.get_Length());

stream = httpRequest.GetRequestStream();

The httpRequest.GetRequestStream() fails with an ClrError: The underlying connection was closed: an unexpected error occured on a send. Authentication failed because the remote party has closed"

To my knowlege ASx2009 is using 3.5 .Net Framework and in my method I don’t have the enum for TLS1.2 available like:

System.Net.ServicePointManager::set_SecurityProtocol(System.Net.SecurityProtocolType::Tls12);

I found another AX2012 related article:

https://blogs.msdn.microsoft.com/axsupport/2017/05/09/troubleshooting-errors-when-submitting-reports-to-the-digipoort-service-for-dutch-companies/

I did set the Registry settings that force TLS 1.2 version to be used by the .NET Framework, but I still not get TLS 1.2 being used. Using Microsoft Message Analyser, I can see that I still use TLS 1.0 version when the Handshake is made.

Any sugestions - tips for getting this to work ?

AOS OS: Windows 2008 Server R2 SP1, .Net framework 4.7 installed.

Thanks

Hi Jesper, do you find the solution for that problem ? We have the same problem too with TLS 1.2 for Ogone Credit Card Payment

Calls are still being made in TLS 1.0 (seen in Wireshark).

Hi , Were you able to resolve this from AX2009 . Im having same issue

Do you have installed the update for .NET framework?

If you can’t get it working in .NET 3.5, consider creating a separate .NET 4.5+ process (such as a windows service) handling the communication.