System.Net.Http.WinHttpHandler.WinHttpHandler.SetSessionHandleTlsOptions C# (CSharp) Method

SetSessionHandleTlsOptions() private method

private SetSessionHandleTlsOptions ( Interop.WinHttp.SafeWinHttpHandle sessionHandle ) : void
sessionHandle Interop.WinHttp.SafeWinHttpHandle
return void
        private void SetSessionHandleTlsOptions(SafeWinHttpHandle sessionHandle)
        {
            uint optionData = 0;
            SslProtocols sslProtocols = 
                (_sslProtocols == SslProtocols.None) ? SecurityProtocol.DefaultSecurityProtocols : _sslProtocols;

            if ((sslProtocols & SslProtocols.Tls) != 0)
            {
                optionData |= Interop.WinHttp.WINHTTP_FLAG_SECURE_PROTOCOL_TLS1;
            }

            if ((sslProtocols & SslProtocols.Tls11) != 0)
            {
                optionData |= Interop.WinHttp.WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1;
            }

            if ((sslProtocols & SslProtocols.Tls12) != 0)
            {
                optionData |= Interop.WinHttp.WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2;
            }

            SetWinHttpOption(sessionHandle, Interop.WinHttp.WINHTTP_OPTION_SECURE_PROTOCOLS, ref optionData);
        }