Let me list specs regarding this application:
- Windows 10 for all of us
- Asp.net core 2.0 web app
- We all use VS2017
- We're using IIS Express
- SSL is turned on for this application
- We trust our IIS express localhost cert
During startup we do the following:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
The problem we're having is only happening to some of our team members in their localhost environment.
In a background task thread, we use the System.Net.WebClient
to make a call to a different URL of our app (again, to localhost), but it results in an exception whose innermost exception message is
The client and server cannot communicate, because they do not possess a common algorithm.
We know that setting ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
fixes the problem but we need it to remain at Tls12
.
This must be a setting in either IIS Express or a firewall setting or something else environmental.
Some posts on Google suggest that we install .NET 4.6+ but we all have it installed already, so that's not it.