Quick ProTip: Negotiate TLS Connections In Powershell With A Minimum TLS Version Requirement
Synopsis
This is a quick post to highlight the nuances of Powershell and protocol management in regard to TLS connections. If you’ve ever attempted to make a secure connection (for example, an API request) to a service with certain net security requirements, you might have run into this problem.
While TLS is negotiated at the highest level existing on both the server and the client, the minimum protocols defined by Powershell may include ones that you explicitly do not want. While explicitly declaring an enumerated protocol list is easy enough, what happens when Tls13 becomes more common, and we want to start utilizing it when it’s available? Then Tls14, and beyond?

A basic UniversalDashboard running on nginx