This article describes the Credential Security Service Provider (CredSSP) in Windows XP Service Pack 3 (SP3).
Back to the top
CredSSP is a new Security Service Provider (SSP) that is available in Windows XP SP3 by using the Security Service Provider Interface (SSPI). CredSSP enables a program to use client-side SSP to delegate user credentials from the client computer to the target server. (The target server is accessed by using server-side SSP). Windows XP SP3 involves only the client-side SSP implementation. The client-side SSP implementation is currently being used by Remote Desktop Protocol (RDP) 6.1 Terminal Services (TS). However, the client-side SSP implementation can be used by any third-party program that is willing to use the client-side SSP to interact with programs that are running server-side SSP implementations in Windows Vista or in Windows Server 2008.
To download the CredSSP protocol specification, visit the following Microsoft Web site:
Note By default, CredSSP is turned off in Windows XP SP3.
Back to the top
How to turn on CredSSP
Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756 (http://support.microsoft.com/kb/322756/) How to back up and restore the registry in Windows
| 1. | Click Start, click Run, type regedit, and then press ENTER. |
| 2. | In the navigation pane, locate and then click the following registry subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa |
| 3. | In the details pane, right-click Security Packages, and then click Modify. |
| 4. | In the Value data box, type tspkg. Leave any data that is specific to other SSPs, and then click OK. |
| 5. | In the navigation pane, locate and then click the following registry subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders |
| 6. | In the details pane, right-click SecurityProviders, and then click Modify. |
| 7. | In the Value data box, type credssp.dll. Leave any data that is specific to other SSPs, and then click OK. |
| 8. | Exit Registry Editor. |
| 9. | Restart the computer. |
Back to the top
Scenarios for using CredSSP
Scenario 1: Programmatically use the SSP
You can now use CredSSP to perform client-side authentication in Windows XP SP3. You can use CredSSP together with authentication APIs to successfully authenticate the server-side counterpart programs that are running in Windows Vista or in Windows Server 2008.
For more information about the
AcquireCredentialsHandle (CredSSP) function, visit the following Microsoft Web site:
For more information about the
InitializeSecurityContext (CredSSP) function, visit the following Microsoft Web site:
Scenario 2: Use Terminal Services to connect to Windows Vista or to Windows Server 2008 from Windows XP SP3
| • | Use Terminal Services together with the Single Sign-On experience to connect to a Windows Vista-based computer or to a Windows Server 2008-based computer from a Windows XP SP3-based computer by using default (preset) credentials. This feature requires you to modify registry keys that are related to credential delegation. |
| • | Use Terminal Services to connect from a Windows XP SP3-based computer to a Windows Vista-based computer or to a Windows Server 2008-based computer when Network Level Authentication (NLA) is enforced. |
Note You must turn on CredSSP to successfully use Terminal Services to connect to a NLA-enforced Windows Vista-based computer or to a NLA-enforced Windows Server 2008-based computer from a Windows XP SP3-based computer.
Back to the top
CredSSP Group Policy settings
Windows XP SP3 supports CredSSP Group Policy settings that are specific to credentials delegation as it applies in Windows Vista or in Windows Server 2008. However, the CredSSP Group Policy settings are not available as a Group Policy object (GPO) in Windows XP SP3. The CredSSP Group Policy settings can be applied by creating or by modifying registry entries for the required CredSSP Group Policy setting. The registry entries contain the list of server Service Principal Names (SPNs) for which the associated Group Policy setting applies. Additionally, the registry entries contain the serial number of the servers.
For more information about CredSSP Group Policy settings, visit the following Microsoft Web site:
The following registry keys correspond to Group Policy settings:
| • | HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation
REG_DWORD: AllowDefaultCredentials Value data: 1 (enable) 0 (disable)
REG_DWORD: ConcatenateDefaults_AllowDefault Value data: 1 (enable) 0 (disable)
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowDefaultCredentials
"<serial_no>"="<server SPN>" |
| • | HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation
REG_DWORD: AllowDefCredentialsWhenNTLMOnly Value data: 1 (enable) 0 (disable)
REG_DWORD: ConcatenateDefaults_AllowDefNTLMOnly Value data: 1 (enable) 0 (disable)
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowDefCredentialsWhenNTLMOnly
"<serial_no>"="<server SPN>" |
| • | HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation
REG_DWORD: AllowFreshCredentials Value data: 1 (enable) 0 (disable)
REG_DWORD: ConcatenateDefaults_AllowFresh Value data: 1 (enable) 0 (disable)
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowFreshCredentials
"<serial_no>"="<server SPN>" |
| • | HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation
REG_DWORD: AllowFreshCredentialsWhenNTLMOnly Value data: 1 (enable) 0 (disable)
REG_DWORD: ConcatenateDefaults_AllowFreshNTLMOnly Value data: 1 (enable) 0 (disable)
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowFreshCredentialsWhenNTLMOnly
"<serial_no>"="<server SPN>" |
| • | HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation
REG_DWORD: AllowSavedCredentials Value data: 1 (enable) 0 (disable)
REG_DWORD: ConcatenateDefaults_AllowSaved Value data: 1 (enable) 0 (disable)
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowSavedCredentials
"<serial_no>"="<server SPN>" |
| • | HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation
REG_DWORD: AllowSavedCredentialsWhenNTLMOnly Value data: 1 (enable) 0 (disable)
REG_DWORD: ConcatenateDefaults_AllowSavedNTLMOnly Value data: 1 (enable) 0 (disable)
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowSavedCredentialsWhenNTLMOnly
"<serial_no>"="<server SPN>" |
| • | HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation
REG_DWORD: DenyDefaultCredentials Value data: 1 (enable) 0 (disable)
REG_DWORD: ConcatenateDefaults_DenyDefault Value data: 1 (enable) 0 (disable)
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\DenyDefaultCredentials
"<serial_no>"="<server SPN>" |
| • | HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation
REG_DWORD: DenyFreshCredentials Value data: 1 (enable) 0 (disable)
REG_DWORD: ConcatenateDefaults_DenyFresh Value data: 1 (enable) 0 (disable)
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\DenyFreshCredentials
"<serial_no>"="<server SPN>" |
| • | HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation
REG_DWORD: DenySavedCredentials Value data: 1 (enable) 0 (disable)
REG_DWORD: ConcatenateDefaults_DenySaved Value data: 1 (enable) 0 (disable)
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\DenySavedCredentials
"<serial_no>"="<server SPN>" |
For example, assume that you want to turn on the Single Sign-On experience when you use Terminal Services to connect to a Windows Vista-based computer or to a Windows Server 2008-based computer from a Windows XP SP3-based computer. In this case, you would add the following registry entries on the Windows XP SP3-based computer:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation
REG_DWORD:
AllowDefaultCredentialsValue data:
00000001REG_DWORD:
ConcatenateDefaults_AllowDefaultValue data:
00000001HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowDefaultCredentials
"1"="TERMSRV/*"
Back to the top