asp.net – 经典ASP出站TLS 1.2
发布时间:2020-12-16 04:14:39 所属栏目:asp.Net 来源:网络整理
导读:我们使用对USB的Web API调用来检查地址信息.他们需要TLS 1.2并且交换机已经破坏了我们的页面. %If ACTION="Verify" and ncSCountry="USA" and ncSState"PR" and ncSState"AA" and ncSState"AP" and ncSState"AE" then Dim sXML sXML = "?xml version='1.0'?"
我们使用对USB的Web API调用来检查地址信息.他们需要TLS 1.2并且交换机已经破坏了我们的页面.
<% If ACTION="Verify" and ncSCountry="USA" and ncSState<>"PR" and ncSState<>"AA" and ncSState<>"AP" and ncSState<>"AE" then Dim sXML sXML = "<?xml version='1.0'?>" sXML = sXML & "<AccessRequest xml:lang='en-US'>" sXML = sXML & "<AccessLicenseNumber>XXXXXX</AccessLicenseNumber>" sXML = sXML & "<UserId>XXXX</UserId>" sXML = sXML & "<Password>XXXX</Password>" sXML = sXML & "</AccessRequest>" sXML = sXML & "<?xml version='1.0'?>" sXML = sXML & "<AddressValidationRequest xml:lang='en-US'>" sXML = sXML & "<Request>" sXML = sXML & "<TransactionReference>" sXML = sXML & "<CustomerContext /><XpciVersion>1.0001</XpciVersion>" sXML = sXML & "</TransactionReference>" sXML = sXML & "<RequestAction>XAV</RequestAction>" sXML = sXML & "<RequestOption>1</RequestOption></Request>" sXML = sXML & "<MaximumListSize>1</MaximumListSize>" sXML = sXML & "<AddressKeyFormat>" sXML = sXML & "<ConsigneeName></ConsigneeName>" sXML = sXML & "<BuildingName></BuildingName>" sXML = sXML & "<AddressLine>" & ncSAddr1 & "</AddressLine>" sXML = sXML & "<AddressLine>" & ncSAddr2 & "</AddressLine>" sXML = sXML & "<AddressLine></AddressLine>" sXML = sXML & "<PoliticalDivision2>" & ncSCity & "</PoliticalDivision2>" sXML = sXML & "<PoliticalDivision1>" & ncSState & "</PoliticalDivision1>" sXML = sXML & "<PostcodePrimaryLow>" & ncSZip & "</PostcodePrimaryLow>" sXML = sXML & "<CountryCode>US</CountryCode>" sXML = sXML & "</AddressKeyFormat>" sXML = sXML & "</AddressValidationRequest>" 'Now pass the request to UPS Dim xmlhttp4,sResponseXML,myDoc Set xmlhttp4 = CreateObject("WinHttp.WinHttpRequest.5.1") 'Set xmlhttp4 = CreateObject("MSXML2.ServerXMLHTTP") xmlhttp4.Open "POST","https://onlinetools.ups.com/ups.app/xml/XAV",false xmlhttp4.setRequestHeader "Content-Type","application/x-www-form-urlencoded" xmlhttp4.send(sXML) If xmlhttp4.Status >= 400 And xmlhttp4.Status <= 599 Then 'Response.Write( "Error Occurred : " & xmlhttp.Status & " - " & xmlhttp.statusText) sResponseXML = "</empty>" Else sResponseXML = xmlhttp4.responseText End If Set myDoc=CreateObject("Microsoft.XMLDOM") myDoc.loadXML(sResponseXML) myDoc.async = false Dim addressline,addressline2,city,state,zip,zip4,responsestatus Dim root,NodeList,x Set root = myDoc.DocumentElement If myDoc.hasChildNodes then Set NodeList = root.SelectNodes("AddressKeyFormat") For x = 0 To (NodeList.Length - 1) city = NodeList.Item(x).SelectSingleNode("PoliticalDivision2").Text state = NodeList.Item(x).SelectSingleNode("PoliticalDivision1").Text addressline = NodeList.Item(x).SelectSingleNode("AddressLine").Text addressline2=NodeList.Item(x).SelectSingleNode("AddressLine").NextSibling.nodename if addressline2="AddressLine" then addressline2=NodeList.Item(x).SelectSingleNode("AddressLine").NextSibling.Text Else addressline2="" ENd if zip = NodeList.Item(x).SelectSingleNode("PostcodePrimaryLow").Text zip4 = NodeList.Item(x).SelectSingleNode("PostcodeExtendedLow").Text Next End If Dim startcust3,endcust3 startcust3=instr(sresponseXML,"<ResponseStatusCode>") endcust3 = instr(sresponseXML,"</ResponseStatusCode>") responsestatus=Mid(sResponseXML,startcust3+20,(endcust3-startcust3-20)) ENd if %> 我已经尝试过这个开关,但我觉得我错过了一些东西. Set xmlhttp4 = CreateObject("WinHttp.WinHttpRequest.5.1") 'Set xmlhttp4 = CreateObject("MSXML2.ServerXMLHTTP") 解决方法
我找到了一个简单的注册表修复解决方案.
1)注册TLS 1.2协议: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2] [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Client] "Enabled"=dword:ffffffff "DisabledByDefault"=dword:00000000 [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Server] "Enabled"=dword:ffffffff "DisabledByDefault"=dword:00000000 2)将TLS 1.2配置为32位应用程序中的默认值: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionInternet SettingsWinHttp] "DefaultSecureProtocols"=dword:00000800 3)将TLS 1.2配置为64位应用程序的默认值: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionInternet SettingsWinHttp] "DefaultSecureProtocols"=dword:00000800 4)重启服务器 如果您只需要支持TLS 1.1: >在上面的步骤1)中,只需将“TLS 1.2”更改为“TLS 1.1”并应用新的注册表修复程序 如果您需要TLS 1.1和1.2的支持 >从上面重复步骤1)两次注册两个协议 验证码: <% Set objHttp = Server.CreateObject("WinHTTP.WinHTTPRequest.5.1") objHttp.open "GET","https://howsmyssl.com/a/check",False objHttp.Send Response.Write objHttp.responseText Set objHttp = Nothing %> 在响应结束时,您应该看到请求使用的TLS版本 "tls_version":"TLS 1.2" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET MVC CAPTCHA实现
- xamarin – ASP.NET核心Web API与ASP.NET核心应用程序
- asp.net-web-api2 – 通过http Post请求将XML发送到Web Api
- entity-framework – 将DbContext注入Repository类库
- ASP.NET:突出显示当前页面的菜单项
- asp.net-mvc-3 – 将模型数据从Knockout发送回MVC 3
- asp.net-mvc – 如何使用统一依赖注入的Automapper?
- asp.net – NLogConfigurationException – 从’System.Str
- asp.net-mvc – ASP.NET MVC 3 Treeview
- asp.net-mvc – 在ajax调用中ASP.NET MVC错误的url
推荐文章
站长推荐
热点阅读