Enable-TlsCipherSuite
Enables a TLS cipher suite.
Syntax
Enable-TlsCipherSuite
[[-Position] <UInt32>]
[-Name] <String>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
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. No restart is required
for changes to take effect.
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.
Examples
Example 1: Enable a cipher suite
Enable-TlsCipherSuite -Name TLS_DHE_DSS_WITH_AES_256_CBC_SHA
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.
Example 2: Enable a cipher suite as the lowest priority
Enable-TlsCipherSuite -Name TLS_DHE_DSS_WITH_AES_256_CBC_SHA -Position 4294967295
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.
Example 3: Enable a cipher suite as the highest priority
Enable-TlsCipherSuite -Name TLS_DHE_DSS_WITH_AES_256_CBC_SHA -Position 0
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.
Parameters
-Confirm
Prompts you for confirmation before running the cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Specifies the name of the TLS cipher suite to enable.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Position
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.
Type: | UInt32 |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |