Showing results for 
Search instead for 
Did you mean: 

TLS 1.2 Issue - in Classic ASP environment

I manage a few sites that still use Classic ASP.

The method of connection is via a MSXML2 component pointing to

Is there a simple change i can make in this code somewhere (see below), to test via the sandbox, and see if the server is TLS 1.2 compliant?





set objHttp = server.Createobject("MSXML2.ServerXMLHTTP")
if err.number <> 0 then
end if
'on error goto 0 "POST", strPost, false
objHttp.Send strRequest

'Get response
objHttpStatus = objHttp.status
strResponse   = objHttp.responseText
set objHttp      = nothing



Hello @snooper


Another developer asked a similar question on StackOverflow and there are several suggestions to help:



Administrator Administrator

You may not need to modify your code at all, but you may need to apply the update from :, there is also an Easy Fix on the same page that will modify your registry entries for you.

Powered by -
Certified developers
Trusted Contributor

@RichardH- thanks for the reponse.

You will actually see a comment of mine (kneidels) from back in November :-)


@NexusSoftware- thanks also.


Just to clarify - my setup currently works (for now...)i just want to be able to TEST with the tls1.2 version with the sandbox, while leavinjg the current setup active (meaning, probably not changing registry values etc)


is there a way to do this, in your opinion?



What version of Windows and the .Net framework is on your server?


Below is a simple test script that will return what your Schannel.dll is connecting with:

Set objHttp = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0") "GET", "", False
Response.Write objHttp.responseText 
Set objHttp = Nothing 

Save as testssl.asp and hit it with your browser.  If it returns the with tls_version":"TLS 1.2, you are good to go. 

Powered by -
Certified developers

For us, the magic was changing all of the objects of type ("MSXML2.ServerXMLHTTP" or "MSXML2.ServerXMLHTTP.3.0") over to the newer "MSXML2.ServerXMLHTTP.6.0".


It would make intuitive sense that the one without the version number chooses the newest version, but this is NOT the case, as it in fact points to the older 3.0 version.

I have a classic ASP site as well and looking for confirmation on if I need to make any changes for TLS 1.2.  It's been very hard to get an answer.


Did you find a solution/answer?

Hi @wesg92


Our Sandbox endpoint only supports a TLS 1.2 connections.


So, if you can test your classic ASP site with this endpoint, and everything turns out to be working fine, you can be rest assured that your integration work fine with TLS 1.2.


Hope this helps !



Authorize.Net Expert Authorize.Net Expert
Authorize.Net Expert

So I tried that script from  I tried it and it said my TSL version was 1.0.  I got with my host to disable 1.0 and 1.1 and enable 1.2, per my instructions from  When I try to run the script now, I get an error:  "An error occurred in the secure channel support"


This is the same error I get in my own code for trying to talk to  If I change the GET to a POST, I get the same error.


If I check my TLS version through a different site,, it says that TLS 1.2 is supported, and that 1.0 and 1.1 are not supported.  But like I say, I still can't POST to (or anywhere, it would seem).  My host won't help me, saying they're not programmers.  I get that, but I've tried every different ServerObject to make this POST that I've seen and none work.


Any ideas?




Your webserver probably needs TLS 1.0 to communicate with the database server.  Have the host re-enable 1.0 and 1.1.  Then have the host set the "DefaultSecureProtocols" registry keys to 0x00000800.  This key will need to be added to each of these:


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp

On x64-based computers, DefaultSecureProtocols must also be added to the Wow6432Node path:


HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp
You can read about this here: