Hi,
We just migrated to a new server and ran ISS crypto to turn disable weak TLS so running 1.2 now. When testing in sandbox we get a new error we've not seen.
Does anyone has a suggestion of next step based on the below?
Error processing transaction: System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a receive. ---> System.ComponentModel.Win32Exception: The client and server cannot communicate, because they do not possess a common algorithm at System.Net.SSPIWrapper.AcquireCredentialsHandle(SSPIInterface SecModule, String package, CredentialUse intent, SecureCredential scc) at System.Net.Security.SecureChannel.AcquireCredentialsHandle(CredentialUse credUsage, SecureCredential& secureCredential) at System.Net.Security.SecureChannel.AcquireClientCredentials(Byte[]& thumbPrint) at System.Net.Security.SecureChannel.GenerateToken(Byte[] input, Int32 offset, Int32 count, Byte[]& output) at System.Net.Security.SecureChannel.NextMessage(Byte[] incoming, Int32 offset, Int32 count) at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult) at System.Net.TlsStream.CallProcessAuthentication(Object state) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result) at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size) at System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size) at System.Net.ConnectStream.WriteHeaders(Boolean async) --- End of inner exception stack trace --- at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context) at System.Net.HttpWebRequest.GetRequestStream() at AuthorizeNet.Gateway.SendRequest(String serviceUrl, IGatewayRequest request) at AuthorizeNet.Gateway.Send(IGatewayRequest request, String description) at AuthorizeNet.Gateway.Send(IGatewayRequest request) at DotNetNuke.Modules.Store.Commerce.AuthorizeNetProvider.ProcessTransaction(AddressInfo shipping, AddressInfo billingAddress, Int32 userId, Decimal orderTotal, String orderReferenceNumber, GatewaySettings transDetails)
02-20-2018 01:19 PM
For in .NET 4.0 and 4.5, in your application, use the following prior to making a webrequest:
const SslProtocols _Tls12 = (SslProtocols)0x00000C00; const SecurityProtocolType Tls12 = (SecurityProtocolType)_Tls12; ServicePointManager.SecurityProtocol = Tls12;
.NET 4.6 uses TLS 1.2 by default.
02-20-2018 04:12 PM
Thank you. We ended up making a slight Registry edit to the server and that did it. But this helped get us closer to the solution.
02-22-2018 11:41 AM