Default SecurityProtocol in .NET 4.5

前端 未结 17 1744
一生所求
一生所求 2020-11-22 03:24

What is the default security protocol for communicating with servers that support up to TLS 1.2? Will .NET by default, choose the highest security

17条回答
  •  花落未央
    2020-11-22 04:18

    Microsoft recently published best practices around this. https://docs.microsoft.com/en-us/dotnet/framework/network-programming/tls

    Summary

    Target .Net Framework 4.7, remove any code setting the SecurityProtocol, thus the OS will ensure you use the most secure solution.

    NB: You will also need to ensure that the latest version of TLS is supported & enabled on your OS.

    OS                          TLS 1.2 support
    
    Windows 10                  \_ Supported, and enabled by default.
    Windows Server 2016         /   
    Windows 8.1                 \_ Supported, and enabled by default.
    Windows Server 2012 R2      /
    Windows 8.0                 \_ Supported, and enabled by default.
    Windows Server 2012         /
    Windows 7 SP1               \_ Supported, but not enabled by default*.
    Windows Server 2008 R2 SP1  /
    Windows Server 2008         -  Support for TLS 1.2 and TLS 1.1 requires an update. See Update to add support for TLS 1.1 and TLS 1.2 in Windows Server 2008 SP2.
    Windows Vista               -  Not supported.
    
    * To enable TLS1.2 via the registry see https://docs.microsoft.com/en-us/windows-server/security/tls/tls-registry-settings#tls-12 
    
        Path: HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS1.2\Server
    
            Property: Enabled
            Type: REG_DWORD
            Value: 1
    
            Property: DisabledByDefault 
            Type: REG_DWORD
            Value: 0
    
        Path: HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS1.2\Client
    
            Property: Enabled
            Type: REG_DWORD
            Value: 1
    
            Property: DisabledByDefault 
            Type: REG_DWORD
            Value: 0
    

    For more information and older frameworks, please refer to the MS link.

提交回复
热议问题