Hi out there!
I am trying to increase a web requests security protocol in order to access a web service which is requiring TLS 1.2.
My default SSL is not accepted.
The request is send from Dynamics NAV 2013 (7.00).
I have of course searched for a solution to this problem elsewhere. One single line should be enough:
ServicePointManager.SecurityProtocol := 3072;
This however does not grant me access to the server.
HttpWebRequest := WebRequest.Create(txtURLiLG);
ServicePointManager.SecurityProtocol := 3072; // 3072 = Tls12 (TLS 1.2)
HttpWebRequest.Timeout := 600000; // 10 minutes
HttpWebRequest.ReadWriteTimeout := 600000; // 10 minutes
HttpWebRequest.ContentType := 'text/xml;charset=utf-8';
HttpWebRequest.Method := 'POST';
SystemTextUTF8Encoding := SystemTextUTF8Encoding.UTF8Encoding();
Bytes := SystemTextUTF8Encoding.GetBytes(XMLDoc.InnerXml);
HttpWebRequest.ContentLength := Bytes.Length;
RequestStream := HttpWebRequest.GetRequestStream();
RequestStream.Write(Bytes, 0, Bytes.Length);
RequestStream.Close;
Do any of you have a hint setting securety protocol to TLS 1.2 in Dynamics NAV?
Thanks.
Best regards
Jan
0
Answers
.net 4.0 does not support TLS 1.2.
Franz Kalchmair, MVP
Alias: Jonathan Archer
please like / agree / verify my answer, if it was helpful for you. thx.
Blog: http://moxie4nav.wordpress.com/
The .net framework 4.5 is already installed.
Best regards
Jan
I am currently facing same issue, have you any thought how to change the security protocol?
I need a solution for Dynamics NAV 2016. The members you're showing above are not available as DotNet-Types to create variables. .NET Framework 4.5 is installed.
Oki
Actually i used this on 2016 ver 9.00.49832 with framework 4.0.
If your service tier is running on windows 2008 r2 you could look at this
Chris
Did you get any solution? I expose here my issues..
https://forum.mibuso.com/discussion/76151/problem-using-tls12-13-for-connection-with-webservice#latest
I've followed the tips given in this post, but I still getting the error shown in my post...
First create a global .NET variable for System.Net.ServicePointManager, and then call it with
--Matrix
https://navurpo.blogspot.com/?view=classic
you can find it in the System Assembly.
See here:
https://docs.microsoft.com/de-de/dotnet/api/system.net.servicepointmanager?view=netframework-4.8
In the top left Corner you can change the Version.
If you input the following string into the subtype it should work: