如何使用C#标记“ TLS 1.2”(Internet选项>高级设置>安全性> TLS 1.2)

时间:2019-05-23 06:40:50

标签: c# .net webbrowser-control internet-explorer-10 tls1.2

我们的应用程序使用Webbrowser控件/ Internet Explorer来显示一些网页。我们需要启用TLS 1.2(Internet选项->高级->安全->使用TLS 1.2)来显示这些网页。现在,当禁用(默认情况下禁用)TLS 1.2选项时,Win 8中会遇到一些问题。因此,我们需要检查它是否被选中,如果没有,我们需要在C#中以编程方式对其进行打勾。我们尝试通过设置注册表值来解决问题,但这没有帮助。 是否可以通过编程方式勾选“ Internet选项->高级->安全性->使用TLS 1.2”。

1 个答案:

答案 0 :(得分:0)

您可以使用Registry.SetValue Method来设置更改注册表并启用TLS 1.2。

下面的代码(需要添加“ using Microsoft.Win32;”引用):

static void Main(string[] args)
{
    // The name of the key must include a valid root.
    const string userRoot = @"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings";
    const string subkey = "SecureProtocols";

    //get the registry value.
    string result = (Registry.GetValue(userRoot, subkey, "Return this default if NoSuchName does not exist")).ToString();
    Console.WriteLine(result);

    //Enable TLS 1.0 and TLS 1.2 
    Registry.SetValue(userRoot, subkey, 2176);

    Console.WriteLine("OK");
    Console.ReadKey();
}

有关注册表项值的更多详细信息,请参阅this article