Hi Experts! I am once again asking for help on how to do something in .net (Visual Studio) for a client who has an application they use for accessing the UPS website through an API.
UPS has upgraded all their servers and have deprecated support for TLS1.0. Here is a link to more information about this issue:
https://www.ups.com/us/en/help-center/technology-support/data-security.page
I need to reference the TLS 1.1 or 1.2 protocols and re-build this application for them. I need some direction on #1 - how to find the correct reference file and #2 how to make the change (which I think I may have figured out how to do)
UPDATE: Here is what UPS sent out this morning...
In order to be in compliance with requirements set forth by the global Payment Card Industry, UPS has upgraded the communication security protocols for all web-based applications.
Please contact your company's IT department or development team to ensure that any security protocols currently used meet the TLS 1.2 requirement. If Java is enabled, it must be version 1.7 or higher to use TLS 1.2.
Effective January 18, 2018, UPS will only accept TLS 1.1 and TLS 1.2 security protocols. It is highly recommended that the most current version, TLS 1.2, be implemented.
100% of requests from customers who are on TLS 1.0 while using legacy URLS (www.ups.com/tool name) will be rejected.
100% of requests from customers who are on TLS 1.0 while using production URLS (onlinetools.ups.com/tool name) will be rejected.
100% of requests from customers who are on TLS 1.0 or 1.1 while using the development (CIE/test) URLS will be rejected
Any direction will be appreciated.
Thanks a lot!
++++++++++++++++++++++++++
++++++++++
++++++++++
++++++++++
++++++++++
++++++++++
++++++++++
++++++++++
+++++++++
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. ---> System.IO.IOException: Authentication failed because the remote party has closed the transport stream.
at System.Net.Security.SslSta
te.StartRe
adFrame(By
te[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslSta
te.StartRe
ceiveBlob(
Byte[] buffer, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslSta
te.CheckCo
mpletionBe
foreNextRe
ceive(Prot
ocolToken message, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslSta
te.StartSe
ndBlob(Byt
e[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslSta
te.ForceAu
thenticati
on(Boolean
receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslSta
te.Process
Authentica
tion(LazyA
syncResult
lazyResult)
at System.Net.TlsStream.CallP
rocessAuth
entication
(Object state)
at System.Threading.Execution
Context.ru
nTryCode(O
bject userData)
at System.Runtime.CompilerSer
vices.Runt
imeHelpers
.ExecuteCo
deWithGuar
anteedClea
nup(TryCod
e code, CleanupCode backoutCode, Object userData)
at System.Threading.Execution
Context.Ru
nInternal(
ExecutionC
ontext executionContext, ContextCallback callback, Object state)
at System.Threading.Execution
Context.Ru
n(Executio
nContext executionContext, ContextCallback callback, Object state)
at System.Net.TlsStream.Proce
ssAuthenti
cation(Laz
yAsyncResu
lt result)
at System.Net.TlsStream.Write
(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.PooledStream.Wr
ite(Byte[]
buffer, Int32 offset, Int32 size)
at System.Net.ConnectStream.W
riteHeader
s(Boolean async)
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.
GetRespons
e()
at WindowsFormsApplication1.F
orm1.PostD
ata(String
strServiceAddress, String strData)
at WindowsFormsApplication1.F
orm1.btnSh
ip_Click(O
bject sender, EventArgs e)
at WindowsFormsApplication1.F
orm1.Form1
_Load(Obje
ct sender, EventArgs e)
at System.Windows.Forms.Form.
OnLoad(Eve
ntArgs e)
at System.Windows.Forms.Form.
OnCreateCo
ntrol()
at System.Windows.Forms.Contr
ol.CreateC
ontrol(Boo
lean fIgnoreVisible)
at System.Windows.Forms.Contr
ol.CreateC
ontrol()
at System.Windows.Forms.Contr
ol.WmShowW
indow(Mess
age& m)
at System.Windows.Forms.Contr
ol.WndProc
(Message& m)
at System.Windows.Forms.Scrol
lableContr
ol.WndProc
(Message& m)
at System.Windows.Forms.Conta
inerContro
l.WndProc(
Message& m)
at System.Windows.Forms.Form.
WmShowWind
ow(Message
& m)
at System.Windows.Forms.Form.
WndProc(Me
ssage& m)
at System.Windows.Forms.Contr
ol.Control
NativeWind
ow.OnMessa
ge(Message
& m)
at System.Windows.Forms.Contr
ol.Control
NativeWind
ow.WndProc
(Message& m)
at System.Windows.Forms.Nativ
eWindow.Ca
llback(Int
Ptr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8762 (QFE.050727-8700)
CodeBase: file:///C:/Windows/Microso
ft.NET/Fra
mework/v2.
0.50727/ms
corlib.dll
--------------------------
----------
----
WindowsFormsApplication1
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///Z:/UPS/NewUPS.exe
--------------------------
----------
----
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8015 (FX35W81RTMGDR.050727-8000
)
CodeBase: file:///C:/Windows/assembl
y/GAC_MSIL
/System.Wi
ndows.Form
s/2.0.0.0_
_b77a5c561
934e089/Sy
stem.Windo
ws.Forms.d
ll
--------------------------
----------
----
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8770 (QFE.050727-8700)
CodeBase: file:///C:/Windows/assembl
y/GAC_MSIL
/System/2.
0.0.0__b77
a5c561934e
089/System
.dll
--------------------------
----------
----
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8019 (FX35W81RTMGDR.050727-8000
)
CodeBase: file:///C:/Windows/assembl
y/GAC_MSIL
/System.Dr
awing/2.0.
0.0__b03f5
f7f11d50a3
a/System.D
rawing.dll
--------------------------
----------
----
System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8007 (FX35W81RTMGDR.050727-8000
)
CodeBase: file:///C:/Windows/assembl
y/GAC_MSIL
/System.Co
nfiguratio
n/2.0.0.0_
_b03f5f7f1
1d50a3a/Sy
stem.Confi
guration.d
ll
--------------------------
----------
----
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8773 (QFE.050727-8700)
CodeBase: file:///C:/Windows/assembl
y/GAC_MSIL
/System.Xm
l/2.0.0.0_
_b77a5c561
934e089/Sy
stem.Xml.d
ll
--------------------------
----------
----
System.Data
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8762 (QFE.050727-8700)
CodeBase: file:///C:/Windows/assembl
y/GAC_32/S
ystem.Data
/2.0.0.0__
b77a5c5619
34e089/Sys
tem.Data.d
ll
--------------------------
----------
----
gthxnngu
Assembly Version: 1.0.0.0
Win32 Version: 2.0.50727.8770 (QFE.050727-8700)
CodeBase: file:///C:/Windows/assembl
y/GAC_MSIL
/System/2.
0.0.0__b77
a5c561934e
089/System
.dll
--------------------------
----------
----
System.Transactions
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8007 (FX35W81RTMGDR.050727-8000
)
CodeBase: file:///C:/Windows/assembl
y/GAC_32/S
ystem.Tran
sactions/2
.0.0.0__b7
7a5c561934
e089/Syste
m.Transact
ions.dll
--------------------------
----------
----
System.EnterpriseServices
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8007 (FX35W81RTMGDR.050727-8000
)
CodeBase: file:///C:/Windows/assembl
y/GAC_32/S
ystem.Ente
rpriseServ
ices/2.0.0
.0__b03f5f
7f11d50a3a
/System.En
terpriseSe
rvices.dll
--------------------------
----------
----
-c9bultw
Assembly Version: 1.0.0.0
Win32 Version: 2.0.50727.8770 (QFE.050727-8700)
CodeBase: file:///C:/Windows/assembl
y/GAC_MSIL
/System/2.
0.0.0__b77
a5c561934e
089/System
.dll
--------------------------
----------
----
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.