cancel
Showing results for 
Search instead for 
Did you mean: 

TLS 1.2 enabled - sandbox returning algorithm error

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)

NortonCode
Member
2 REPLIES 2

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.

Powered by NexWebSites.com -
Certified Authorize.net developers
NexusSoftware
Trusted Contributor

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.