How to Check TLS Version on Windows Server: A Step-by-Step Guide

Checking TLS on Windows Server requires distinguishing which protocol versions the OS/.NET/IIS/application supports, which Schannel versions are enabled, and what a specific service actually negotiates.

Steps

  1. Identify the Windows Server version, application/service, and listening endpoint you need to evaluate.
  2. Use a controlled TLS client/scanner such as current PowerShell/.NET tooling, OpenSSL from a trusted admin workstation, or an approved vulnerability scanner to test the endpoint’s negotiated protocols/ciphers.
  3. Review Schannel protocol configuration/policy and current Microsoft security baseline for that Server release.
  4. For IIS/.NET applications, also review application/framework settings because OS capability alone does not prove the app uses a protocol.
  5. After changes, restart affected services/servers as required and retest from a separate client.

How it works

Registry keys under Schannel can enable/disable protocols, but defaults vary by Windows Server release and updates. TLS 1.0/1.1 are obsolete for most internet services; TLS 1.2 is broadly required and TLS 1.3 availability depends on Server/app versions.

Important considerations

Test before disabling legacy protocols because old clients can break. Back up configuration and use organization change control; do not paste generic registry files into production servers.

Practical guidance

For an internet-facing server, an external scan shows what remote clients can actually negotiate and can reveal load balancers/proxies terminating TLS before traffic reaches Windows Server. Internal registry inspection alone can miss that architecture. Document the endpoint, cipher/protocol result, certificate chain, and date for auditability.