This article describes an update to add support for Transport Layer Security (TLS) 1.1 and TLS 1.2 in Windows Embedded Compact 7.
Before you install this update, all previously issued updates for this product must be installed.
Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.
View products that this article applies to.
This article describes an update to add support for Transport Layer Security (TLS) 1.1 and TLS 1.2 in Windows Embedded Compact 7.
Before you install this update, all previously issued updates for this product must be installed.
By default, TLS 1.1 and TLS 1.2 are enabled when the Windows Embedded Compact 7-based device is configured as a client by using browser settings. The protocols are disabled when the Windows Embedded Compact 7-based device is configured as a web server.
You can use the following registry keys to enable or disable TLS 1.1 and TLS 1.2.
The following subkey controls the use of TLS 1.1:
HKEY_LOCAL_MACHINE\Comm\SecurityProviders\SCHANNEL\Protocols\TLS 1.1
To disable the TLS 1.1 protocol, you must create the Enabled DWORD entry in the appropriate subkey, and then change the DWORD value to 0. To re-enable the protocol, change the DWORD value to 1. By default, this entry does not exist in the registry.
Note To enable and negotiate TLS 1.1, you must create the DisabledByDefault DWORD entry in the appropriate subkey (Client, Server), and then change the DWORD value to 0.
The following subkey controls the use of TLS 1.2:
HKEY_LOCAL_MACHINE\Comm\SecurityProviders\SCHANNEL\Protocols\TLS 1.2
To disable the TLS 1.2 protocol, you must create the Enabled DWORD entry in the appropriate subkey, and then change the DWORD value to 0. To re-enable the protocol, change the DWORD value to 1. By default, this entry does not exist in the registry.
Note To enable and negotiate TLS 1.2, you must create the DisabledByDefault DWORD entry in the appropriate subkey (Client, Server), and then change the DWORD value to 0.
Additional notes
Please read the following sections for additional details about TLS 1.1 and 1.2.
The following newly added cipher suites are supported by TLS 1.2 only:
(Optional) This DWORD contains a bit string that represents protocols that have the following condition:
The following table shows the additional possible flags that the member can contain.
Value |
Description |
SP_PROT_TLS1_2_CLIENT |
Transport Layer Security 1.2 client-side. |
SP_PROT_TLS1_2_SERVER |
Transport Layer Security 1.2 server-side |
SP_PROT_TLS1_1_CLIENT |
Transport Layer Security 1.1 client-side. |
SP_PROT_TLS1_1_SERVER |
Transport Layer Security 1.1 server-side |
This set of bit flags indicates the type of buffer. The following table shows the additional available flags for TLS 1.2.
Flag |
Description |
SECBUFFER_ALERT |
The buffer contains an alert message. |
This designates the protocol that is used to establish this connection. The following table shows additional valid constants for this member.
Value |
Description |
SP_PROT_TLS1_2_CLIENT |
Transport Layer Security 1.2 client-side. |
SP_PROT_TLS1_2_SERVER |
Transport Layer Security 1.2 server-side |
SP_PROT_TLS1_1_CLIENT |
Transport Layer Security 1.1 client-side. |
SP_PROT_TLS1_1_SERVER |
Transport Layer Security 1.1 server-side |
This is the algorithm identifier (ALG_ID) for the bulk encryption cipher that is used by this connection. The following table shows the additional valid constants for this member.
Value |
Description |
CALG_AES_256 |
AES 256-bit encryption algorithm |
CALG_AES_128 |
AES 128-bit encryption algorithm |
CALG_3DES |
3DES block encryption algorithm |
This specifies the signature algorithms that are supported by an Schannel connection.
typedef struct _SecPkgContext_SupportedSignatures { WORD cSignatureAndHashAlgorithms; WORD *pSignatureAndHashAlgorithms; } SecPkgContext_SupportedSignatures, *PSecPkgContext_SupportedSignatures;
Value |
Meaning |
0 |
Anonymous signature algorithm |
1 |
The RSA signature algorithm |
2 |
The DSA signature algorithm |
3 |
The ECDSA signature algorithm |
255 |
Reserved |
Value |
Meaning |
0 |
None |
1 |
The MD5 hash algorithm |
2 |
The SHA1 hash algorithm |
3 |
The SHA-224 hash algorithm |
4 |
The SHA-256 hash algorithm |
5 |
The SHA-384 hash algorithm |
6 |
The SHA-512 hash algorithm |
255 |
Reserved |
Header |
Schannel.h |
This function enables a transport application to query a security package for certain attributes of a security context.
This is a pointer to a buffer that contains attributes of the context that is to be retrieved. The following table shows the possible values.
Value |
Description |
SECPKG_ATTR_SUPPORTED_SIGNATURES |
This value returns information about the signature types that are supported for the connection. The pBuffer parameter contains a pointer to a SecPkgContext_SupportedSignatures structure. |
The following table shows the settings that register the Internet and operating settings in the following registry subkey:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
Name |
Type |
Description |
Default value |
SecureProtocols |
REG_BINARY |
00,02,00,00 (enables TLS 1.1 only) 00,08,00,00 (enables TLS 1.2 only) You can also set this key as REG_DWORD "0AA8" to enable all protocols. |
A0,0A,00,00(enables all protocols, except SSL2) |
The Windows Embedded Compact 7 Monthly Update (March 2018) is now available from Microsoft. To download the update, go to the Device Partner Center (DPC).
This update is supported only if all previously issued updates for this product have also been installed.
After you apply this update, you must perform a clean build of the whole platform. To do this, use one of the following methods:
You do not have to restart the computer after you apply this software update.
This update does not replace any other updates.
Learn about the terminology that Microsoft uses to describe software updates.
Keywords: kbfix, kbsurveynew, kbexpertiseadvanced, add support for TLS 1.1 and TLS 1.2