C# 如何以编程方式确定Windows server中启用的SSL/TLS协议

C# 如何以编程方式确定Windows server中启用的SSL/TLS协议,c#,ssl,cryptography,wcf-security,tls1.2,C#,Ssl,Cryptography,Wcf Security,Tls1.2,特定Windows服务器支持的SSL或TLS协议以及启用的SSL或TLS协议存储在注册表中的以下位置: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols NET是否包含枚举和检查这些协议的简单方法,以便在服务器上运行的应用程序可以确定启用了哪些协议 我知道我可以查询注册表,但存在以下问题: 对这些注册表项的更改直到服务器重新启动才会生效-我需要知道当前正在使用的协议

特定Windows服务器支持的SSL或TLS协议以及启用的SSL或TLS协议存储在注册表中的以下位置:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
NET是否包含枚举和检查这些协议的简单方法,以便在服务器上运行的应用程序可以确定启用了哪些协议

我知道我可以查询注册表,但存在以下问题:

  • 对这些注册表项的更改直到服务器重新启动才会生效-我需要知道当前正在使用的协议
  • 目前还不清楚各种值会产生什么影响。有一个DisabledByDefault值和一个Enabled值-比如0和1表示协议已启用,但1和1是什么意思?令人困惑的是,指示Enabled应该是0xFFFFFF而不是1