CredentialProvider
[CredentialProvider]
Activate=0x03
AllowCertificate=
AllowToken=0x01|{LOGONUI}||0xFF|*
AutoLogonEnable=1
AutoLogonDisable=1|{LOGONUI}||*|0
BlockGUID=8bf9a910-a8ff-457f-999f-a5ca10b4a885;8FD7E19C-3BF7-489B-A72C-846AB3678C96;E74E57B0-6C6D-44D5-9CDA-FB2DF5ED7435;94596c7e-3744-41ce-893e-bbf09122f76a
ComponentEnable=std:1;crt:1;pin:1
ComponentDisable=
InitChangePin=0x03
ModeAllowGeneration2=0
ModeAllowNoUPN=0
ModeConvertUPNtoSAM=0
ModeDirectLoad=0
ModeRequirelogon=0
ModeShowMultipleEmpty=0
ModeSingleCertificate=0
ModeSlimKerberos=0
ModeUnknownUseFirstSid=0
:ModeUnprotectedPin=0
ModeWrapping=0
RememberLastUsed=10
UpdateRemoteEnable=1
UpdateRemoteBlockSelfFailure=0
UpdateRemoteBlockSelfHasAll=0
UpdateRemoteRegisterAllCert=0
UpdateRemoteTranslateUser=1
UpdateRemoteTranslateUserDomain=0
UpdateRemoteUseAnyCert=0
UpdateRemoteUseLastCert=1|{TS}||0|*
UpdateRemoteUseSingleCert=1|{TS}||0|*
WrappedFieldPosition=std:13,15,0,1,2,,-,-,6:0x00000000;crt:0,-,1,2,3,4,-,-,-:0x00000000;pin:3,4,0,-,-,,-,-,1:0x00000000
Activate
The activate value tells when our credential provider should tell the caller that we want to be auto selected by default. Usually the caller just ignores this, but sometimes this works. We can only suggest, the caller decides.
AllowCertificate
You can limit the number of certificates that are used by specifying a matching condition.
[CredentialProvider]
AllowCertificate={MatchSomeThing}
Values
See Match for more information.
AllowToken
You can limit the number of tokens that are used. The value is a bitmask of those tokens that are allowed. Default is all token types accepted.
[CredentialProvider]
AllowToken=0x0F
AutoLogonEnable, AutoLogonDisable
It is possible to enable or disable auto logon. Auto logon is possible when single sign-on is active and the token is opened. Usually, you do not want to use auto logon for Windows Logon. Locking the desktop will then auto logon again.
[CredentialProvider]
AutoLogonEnable=1
AutoLogonDisable=1|{LOGONUI}||*|0
BlockGUID
The credential provider will usually replace another credential provider, so the original credential provider needs to be blocked. Each provider is identified by a GUID, so you need to specify the list of GUID:s that should be blocked. Separate them using a semicolon.
[CredentialProvider]
BlockGUID=8bf9a910-a8ff-457f-999f-a5ca10b4a885;8FD7E19C-3BF7-489B-A72C-846AB3678C96;E74E57B0-6C6D-44D5-9CDA-FB2DF5ED7435;94596c7e-3744-41ce-893e-bbf09122f76a
CommandLink
CommandLink controls how to show an extra dialog for CredentialProvider.
[CredentialProvider]
CommandLink=<action>,<text>,<match>;...;<action_N>,<text_N>,<match_N>
CommandSelect
CommandSelect controls how to show the dialog for CredentialProvider.
[CredentialProvider]
CommandSelect=<action>,<text>,<match>;...;<action_N>,<text_N>,<match_N>
ComponentEnable, ComponentDisable
The credential provider has three different purposes and they can be controlled separately.
To allow for conditions we have added a whitelist/blacklist to specify when they should be enabled.
[CredentialProvider]
ComponentEnable=std:1;crt:1;pin:1
ComponentDisable=
pin is only used by Microsoft Smart Card Providers, so it should only be used with MiniDriver activated.
|
InitChangePin
This entry forces a PIN change for Credential Provider. It is used together with PinExpire key.
[CredentialProvider]
InitChangePin=0x03
ModeAllowGeneration2
Two different versions, or generations, of credential providers are available. The second generation added the possibility to group credential tiles, only used by Windows Logon. This does not work well with smart cards with multiple certificates, so it should be avoided.
[CredentialProvider]
ModeAllowGeneration2=0
ModeSlimKerberos
Our credential provider can remove unnecessary values from the credential information returned, that is, the smart card name or the smart card reader name. This ensures that the caller does not know which smart card or smart card reader was used. This makes the unable to disturb anything they do not know anything about.
[CredentialProvider]
ModeSlimKerberos=0
RememberLastUsed
Our credential provider can remember the last used credential and select that credential as default next time our credential provider is used. Reference to credentials is stored in the local configuration, see example below.
[CredentialProvider]
RememberLastUsed=<numberofcredentials>
This value only tells which of our credentials that we consider to be default by those returned from us. Microsoft have their own selection rules to tell which actual credential that will be default.
Example
The references to credentials is stored in the local configuration like this to make sure that the right certificate is prompted when you log on to your computer.
[CredentialProvider]
LastUsed_LOGON=94850533F8F61B56;
LastUsed_CREDUI=972ACC1807EAD617;
Local configuration is by default stored in the Windows registry and not to file. |
WrappedFieldPosition
When our credential provider is wrapping another credential provider it must know which field is used for which purpose. The values usually never change and it is intended to be used only by the development team. Thus, no documentation is available.
WrappedFieldPosition=std:13,15,0,1,2,,-,-,6:0x00000000;crt:0,-,1,2,3,4,-,-,-:0x00000000;pin:3,4,0,-,-,,-,-,1:0x00000000