Problems with NopCommerce Official MailChimp Plugin

4 months ago
We are seeming to have problems with the MailChimp plugin developed by NopCommerce directly. The client has two MailChimp accounts and thus two API keys to enter into the app, but notably the NopCommerce site is using a Multi-Store configuration. When trying to save the information for one specific account (after selecting it from the Multi-Store dropdown), we are seeing the following error in the log:

Log level: Error
Short message: MailChimp error. The SSL connection could not be established, see inner exception.
Full message:
System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
---> System.Security.Authentication.AuthenticationException: Authentication failed because the remote party sent a TLS alert: 'HandshakeFailure'.
---> System.ComponentModel.Win32Exception (0x80090326): The message received was unexpected or badly formatted.
   --- End of inner exception stack trace ---
   at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](TIOAdapter adapter, Boolean receiveFirst, Byte[] reAuthenticationData, Boolean isApm)
   at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(HttpRequestMessage request)
   at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
   at MailChimp.Net.Logic.ApiLogic.GetInfoAsync()
   at Nop.Plugin.Misc.MailChimp.Services.MailChimpManager.<GetAccountInfoAsync>b__77_0()
   at Nop.Plugin.Misc.MailChimp.Services.MailChimpManager.HandleRequestAsync[T](Func`1 request)

Does anyone know anything about this? I have already reached out to MailChimp asking them the same thing since it has to do with SSL's and I assume it would be some issue with their SSL.
4 months ago
RE: "Authentication failed because the remote party sent a TLS alert: 'HandshakeFailure'."

What version of nopCommerce?
Where is your hosting? (Azure?)
4 months ago
@New York, it is running NopCommerce 4.5 and is currently hosted in IIS.
4 months ago
What version of Windows?
What version of IIS?

This PowerShell cmd lists the TLS version on server
Get-TlsCipherSuite

There is an IIS Crypto free tool to enable/disable.
4 months ago
Checking it right now, the Windows version is Windows Server 2012 R2 Standard, Version 6.3.9600 Build 9600. The IIS version is 8.5. Other than that, the PowerShell command you provided wasn't recognized by the server. I had to go into the registry to find that info, but it looks like TLS 1.2 is enabled.