MiniDriver
The MiniDriver section controls the behavior of the MiniDriver component. Our MiniDriver is not that much of a real MiniDriver as Microsoft intended when implementing the standard: a simple layer between the caller and the smart card. Instead we have focused on enabling all our smart cards to be accessible using the MiniDriver interface. Most of the parameters are used to control the mapping between MiniDriver and the real smart card support, which will be using the PKCS#11 interface.
[MiniDriver]
AllowCertificate=
AllowToken=0x01
:CertificateCompression=1
:CheckFileCMap=0
ComponentEnable=1
ComponentDisable=0
:FileCacheDisable=0
:GuidKeyId=1
:IgnoreFileCardCF=0
:IgnoreFileCMap=0
IgnoreLogout=0
:KeyGeneration=1
:KeyMinSize=0
:KeyMaxSize=0
:NoPkcs11Certificate=0
:NoPkcs11Keys=0
:PinCacheDisable=0
:PinCacheNonRep=0
:PinCacheTimeout=0
:ProviderName=Microsoft Base Smart Card Crypto Provider
:ProviderType=1
:ReadOnly=0
RegisterCardPrefix={product-name} #
:ReplaceCertificate=1
SortCertificate=0
:UseExternCardCF=0
:UseSuppliedPadding=0
:Version=7
:WriteBlockSize=192
AllowCertificate
Our MiniDriver allows all certificates by default, but there are scenarios when some certificates should be ignored. The AllowCertificate parameter specifies the matching condition that should be fulfilled.
[MiniDriver]
AllowCertificate={MatchCertificateMD}
AllowToken
Our MiniDriver allows all smart cards by default, but there are scenarios when some tokens should be ignored. The AllowToken parameter specifies the matching condition, see Tokens for more information.
[MiniDriver]
AllowToken=0x01
CertificateCompression
Our MiniDriver handles certificate compression, but the parameter can also disable the compression and let the caller handle it. We do not recommend to use this, since our MiniDriver need the real certificate value. But it can still be used during certification testing.
[MiniDriver]
:CertificateCompression=1
KeyMinSize, KeyMaxSize
The MiniDriver reads actual supported key sizes from the smart card. Use these parameters to limit the values. The key sizes are in bits.
[MiniDriver]
KeyMinSize=0x0400
KeyMaxSize=0x0800
PinCacheTimeout
The MiniDriver can specify how long the PIN should be cached by caller. The value is in number of seconds, 0 for no timeout.
[MiniDriver]
:PinCacheTimeout=0
ProviderName
ProviderName is the name of the CSP that our certificate propagation service registers certificate to, that is Microsoft Base Smart Card Crypto Provider.
[MiniDriver]
:ProviderName=Microsoft Base Smart Card Crypto Provider
ProviderType
ProviderType is the type of CSP that our certificate propagation service registers certificate to, that is Microsoft Base Smart Card Crypto Provider.
#define PROV_RSA_FULL 1
#define PROV_RSA_AES 24
[MiniDriver]
:ProviderType=1
RegisterCardPrefix
The RegisterCardPrefix parameter sets the prefix to use when registering supported smart cards.
[MiniDriver]
RegisterCardPrefix={product-name} #
SortCertificate
The certificate can be sorted before it is returned to the calling application. This allows some kind of default certificate control, but should probably not be used any longer since it only tells in what sequence the MiniDriver will return certificates. The intended function is to control the order of certificates for a certificate selection dialog, but there are too many layers of interfaces to predict the outcome. For example, the order can be updated by CryptoAPI or the certificate selection dialog.
// 0x01 => Newest first
// 0x02 => Oldest first
// 0x04 => Invert
[MiniDriver]
SortCertificate=0x00