Cmdlets

Choose a cmdlet from the list on the left or search for a specific cmdlet. Choose a cmdlet from the list or search for a specific cmdlet.
About Help  Providers
 

Enable-TlsCipherSuite

Enable-TlsCipherSuite

microsoft.windowsauthenticationprotocols.commands.dll

Synopsis

Enables a TLS cipher suite.

Syntax

Enable-TlsCipherSuite [-Name] [-Position] [<CommonParameters>]

Detailed Description

The Enable-TlsCipherSuite cmdlet enables a cipher suite. This cmdlet adds the cipher suite to the list of Transport Layer Security (TLS) protocol cipher suites for the computer. If you do not specify a position in the list, this cmdlet adds it at the lowest position.

If a cipher suite is not enabled for TLS based secure channel (Schannel) registry settings, then the cipher suite is not used.

This cmdlet is based on Cryptography Next Generation (CNG) Cryptographic Configuration. Schannel registry settings and settings specified by means of Security Support Provider Interface (SSPI) by each app can override CNG Cryptographic Configuration. Other settings under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL can also configure cipher suites. These settings can impact whether a cipher suite can be used. For example, disabling of SHA hashes supported by TLS disables the corresponding cipher suites. Additionally, applications can limit the algorithms using SSPI. For more information about TLS settings, see How to restrict the use of certain cryptographic algorithms and protocols in Schannel.dll.

Parameters

-Name <String>

Specifies the name of the TLS cipher suite to enable.

Aliases

none

Required?

true

Position

1

Default value

none

Accept pipeline input?

true(ByValue,ByPropertyName)

Accept wildcard characters?

false

-Position <UInt32>

Specifies the position at which to insert the cipher suite in the ordered list of TLS cipher suites. The cmdlet inserts the cipher suite at the position that this parameter specifies, ahead of any existing cipher suites.

Specify a value of 0 or CRYPT_PRIORITY_TOP to insert the function at the top of the list. Specify a value of 4294967295 or 0xFFFFFFFF or CRYPT_PRIORITY_BOTTOM to insert the function at the end of the list.

Aliases

none

Required?

false

Position

2

Default value

none

Accept pipeline input?

false

Accept wildcard characters?

false

Input Type


Return Type


Notes

None

Examples

Example 1: Enable a cipher suite

This command enables cipher suite named TLS_DHE_DSS_WITH_AES_256_CBC_SHA. This command adds the cipher suite the TLS cipher suite list as the lowest priority.

PS C:\>Enable-TlsCipherSuite -Name "TLS_DHE_DSS_WITH_AES_256_CBC_SHA" 

Example 2: Enable a cipher suite as the lowest priority

This command enables cipher suite named TLS_DHE_DSS_WITH_AES_256_CBC_SHA. This command adds the cipher suite the TLS cipher suite list as the lowest priority. Unlike the first example, this command explicitly specifies position number 4294967295, which is the value of CRYPT_PRIORITY_BOTTOM.

PS C:\>Enable-TlsCipherSuite -Name "TLS_DHE_DSS_WITH_AES_256_CBC_SHA" -Position 4294967295

Example 3: Enable a cipher suite as the highest priority

This command enables cipher suite named TLS_DHE_DSS_WITH_AES_256_CBC_SHA. This command adds the cipher suite the TLS cipher suite list at position 0, which is the highest priority.

PS C:\>Enable-TlsCipherSuite -Name "TLS_DHE_DSS_WITH_AES_256_CBC_SHA" -Position 0

Disable-TlsCipherSuite
Get-TlsCipherSuite