I have a VS 2015 C# program that interfaces with Authorize Dot Net using TLS 1.2 as the default security protocol. AuthDotNet has two environments. The Test environment only allows TLS 1.2. Production will allow both TLS 1.1 and TLS 1.2.
The VS 2015 Console application calls a VS 2015 Class object to interface with AuthDotNet and works properly in both the Test and Production environments.
In Powerbuilder I create an OLE object for the VS 2015 Class object. Powerbuilder works properly when interfacing with the AuthDotNet Production environment and crashes when interfacing with the Test environment. My guess is that Powerbuilder is somehow forcing TLS 1.1 as the security protocol.
Can anyone give me a suggestion on how to fix or curcumvent this issue?
The C# class object created with a 4.6 framework will default to TLS 1.2. So if you call that object from within any other 4.6 framework code, TLS 1.2 will be used.
If however, you call the class object from anything such as PB 12.5, the called object will use whatever TLS version is preferred by the calling object. The solution is to force TLS 1.2 in the C# class object.
Thanks for you help.