智能卡微型驱动程序认证测试
此自动测试验证智能卡微型驱动程序和关联的智能卡的运行情况。
智能卡微型驱动程序是由 Microsoft 基本加密服务提供程序(基本 CSP)和 Microsoft 智能卡密钥存储提供程序 (SCKSP) 加载的软件 DLL,用于访问关联智能卡的功能。 对于智能卡供应商,这些微型驱动程序提供了一种在 Microsoft Windows 操作系统上实现智能卡功能的简单方法,而不必通过开发传统的加密服务提供程序 (CSP)。 (智能卡微型驱动程序过去也称为智能卡模块。)
此测试对智能卡微型驱动程序执行功能、压力、性能和可靠性测试。 此测试调用 Microsoft BaseCSP 和 Microsoft 智能卡密钥存储提供程序,并直接访问卡微型驱动程序方法,以测试卡微型驱动程序和关联卡的操作正确性。 此测试还使用智能卡资源管理器直接访问卡。
测试详细信息
规范 |
|
平台 |
|
支持的版本 |
|
预计运行时间(以分钟为单位) | 180 |
类别 | 兼容性 |
超时(以分钟为单位) | 10800 |
需要重启 | false |
需要特殊配置 | false |
类型 | automatic |
其他文档
此功能区域中的测试可能会有其他文档,包括先决条件、设置和故障排除信息,这些内容可在以下主题中找到:
运行测试
在运行测试之前,请按照如下测试要求中所述完成测试设置:智能卡读卡器测试先决条件。
此外,此测试需要以下硬件。
- WHQL 认证的智能卡读卡器
故障排除
有关 HLK 测试失败的常规故障排除,请参阅排查 Windows HLK 测试失败问题。
有关故障排除信息,请参阅排查 Device.Input 测试问题。
此外,有关特定于智能卡的疑难解答信息,请参阅以下网站:
更多信息
此测试在 Windows HLK Studio 中显示为单个作业,尽管也可以从 Windows HLK Studio 环境外部运行该工具。 将二进制文件从下面指定的位置复制到你选择的目录中,然后可以从你选择的目录中运行测试工具。 可能还必须将 Wttlog.dll 共享库复制到运行目录。 此 DLL 随 Windows HLK 客户端应用程序一起安装。
与在 DTM 中运行测试工具相比,在 Windows HLK 外部运行测试工具具有更大的灵活性,因为你可以单独选择测试。 有关详细信息,请参阅本文档后面的命令行说明。
如果从 Windows HLK 运行测试,则只需要一台客户端计算机。 Windows HLK 文档说明如何在测试计算机上设置 Windows HLK 控制器、Windows HLK Studio 和 Windows HLK 客户端应用程序。
以下信息适用于运行测试的计算机,无论你是在 Windows HLK 环境中还是在 Windows HLK 环境外部运行测试。
若要运行测试,必须在计算机上安装智能卡微型驱动程序并在注册表中注册。 (此外,有关在 64 位版本的操作系统上进行认证的详细信息,请参阅下一节“在 64 位版本的操作系统上进行认证”)。 如果你的智能卡设备具有 ISO 7816 ID-1 外形规格,则必须使用符合 PC/SC 标准且经过 WHQL 认证的智能卡读卡器进行认证。
若要运行测试,计算机上必须有两个相同的智能卡,并且两者都必须处于“已准备”状态,其中“已准备”状态是由 Windows 基本加密服务提供程序(基本 CSP)和智能卡密钥存储提供程序 (KSP) 的智能卡微型驱动程序规范定义。
运行的测试取决于智能卡微型驱动程序的功能。 可以在名为 cmck_config.xml 的特定配置文件中为测试工具定义智能卡微型驱动程序的功能,你必须将其放在 C:\SmartCardMinidriverTest 目录中。 此文件的说明和示例如下。
在典型的测试运行中,如果未找到配置文件,则测试将要求你确认是否使用默认值继续。 但是,对于徽标提交,必须提供与微型驱动程序和卡组合的功能相匹配的配置文件。
默认键值如下所示:
默认用户 PIN 为 0000。
质询/响应的默认管理密钥全部为零。
在 64 位版本的操作系统上进行认证
在 64 位版本的操作系统上进行认证时,还必须在系统上安装 32 位版本的微型驱动程序 DLL。 你可以将 DLL 放在 %systemroot%\syswow64 子目录中。 你必须将 32 位版本的 DLL 的注册表项放在 HKEY_LOCAL_MACHINE\SOFTWARE\wow6432Node\Microsoft\Cryptography\Calais\SmartCards 下。
执行使用微型驱动程序的 32 位应用程序时,应用程序将加载微型驱动程序的 32 位版本。
智能卡微型驱动程序的 INF 文件
提交证书时,必须提供 .inf 文件。 下面是 x86体系结构的示例 .inf 文件:
[Version]
Signature="$Windows NT$"
Class=SmartCard
ClassGuid={990A2BD7-E738-46c7-B26F-1CF8FB9F1391}
Provider=%ProviderName%
CatalogFile=delta.cat
DriverVer=06/21/2006,6.1.6473.1
[DefaultInstall]
CopyFiles=System32_CopyFiles
AddReg=MiniDriver_AddReg
[Manufacturer]
%ProviderName%=CompanyName,NTx86,NTx86.6.1
[CompanyName.NTx86]
%ScSuperCardDeviceName%=ScSuperCard_Install,SCFILTER\CID_51FF0800
[CompanyName.NTx86.6.1]
%ScSuperCardDeviceName%=ScSuperCard61_Install,SCFILTER\CID_51FF0800
[SourceDisksFiles]
supercm.dll=1
[SourceDisksNames]
1 = %MediaDescription%
[ScSuperCard_Install.NT]
CopyFiles=System32_CopyFiles
AddReg=MiniDriver_AddReg
[ScSuperCard61_Install.NT]
CopyFiles=System32_CopyFiles
AddReg=MiniDriver_AddReg
[SCSuperCard61_Install.NT.Services]
Include=umpass.infNeeds=UmPass.Services
[UMPassService_Install]
DisplayName=%umpass.SVCDESC%
; Friendly Name of the Service
ServiceType = 1 ;SERVICE_KERNEL_DRIVER
StartType = 3 ;SERVICE_DEMAND_START
ErrorControl = 1 ;SERVICE_ERROR_NORMAL
ServiceBinary = %12%\umpass.sys
LoadOrderGroup = Extended Base
[System32_CopyFiles]
supercm.dll
[MiniDriver_AddReg]
HKLM,%SmartCardName%,"ATR",0x00000001,3b,04,51,ff,08,00
HKLM,%SmartCardName%,"ATRMask",0x00000001,ff,ff,ff,ff,ff,ff
HKLM,%SmartCardName%,"Crypto Provider",0x00000000,"Microsoft Base Smart Card Crypto Provider"
HKLM,%SmartCardName%,"Smart Card Key Storage Provider",0x00000000,"Microsoft Smart Card Key Storage Provider"
HKLM,%SmartCardName%,"80000001",0x00000000,%SmartCardCardModule%
[DestinationDirs]
System32_CopyFiles=10,system32
[FriendlyName]
ScFriendlyName="Super Card"
; =================== Generic ==================================
[Strings]
ProviderName="ACME"
MediaDescription="Super Card Mini Driver Installation Disk"
SCSuperCardDeviceName="Super Card Mini-driver"
SmartCardName="SOFTWARE\Microsoft\Cryptography\Calais\SmartCards\Super Card"
SmartCardCardModule="supercm.dll"
umpass.SVCDESC = "Microsoft UMPass Driver" Inf file sample for x64 architecture: [Version]
Signature="$Windows NT$"
Class=SmartCard
ClassGuid={990A2BD7-E738-46c7-B26F-1CF8FB9F1391}
Provider=%ProviderName%
CatalogFile=delta.cat
DriverVer=06/21/2006,6.1.6473.1
[DefaultInstall]
CopyFiles=System32_CopyFiles
CopyFiles=Syswow64_CopyFiles
AddReg=MiniDriver_AddReg
[Manufacturer]
%ProviderName%=CompanyName,NTamd64,NTamd64.6.1
[CompanyName.NTamd64]
%ScSuperCardDeviceName%=ScSuperCard_Install,SCFILTER\CID_51FF0800
[CompanyName.NTamd64.6.1]
%ScSuperCardDeviceName%=ScSuperCard61_Install,SCFILTER\CID_51FF0800
[SourceDisksFiles]
supercm64.dll=1
supercm.dll=1
[SourceDisksNames]
1 = %MediaDescription%
[ScSuperCard_Install.NT]
CopyFiles=System32_CopyFiles
CopyFiles=Syswow64_CopyFiles
AddReg=MiniDriver_AddReg
[ScSuperCard61_Install.NT]
CopyFiles=System32_CopyFiles
CopyFiles=Syswow64_CopyFiles
AddReg=MiniDriver_AddReg
[SCSuperCard61_Install.NT.Services]
Include=umpass.inf
Needs=UmPass.Services
[UMPassService_Install]
DisplayName = %umpass.SVCDESC%
; Friendly Name of the Service
ServiceType = 1 ;SERVICE_KERNEL_DRIVER
StartType = 3 ;SERVICE_DEMAND_START
ErrorControl = 1 ;SERVICE_ERROR_NORMAL
ServiceBinary = %12%\umpass.sys
LoadOrderGroup = Extended Base
[System32_CopyFiles]
supercm.dll,supercm64.dll
[Syswow64_CopyFiles]
supercm.dll
[MiniDriver_AddReg]
HKLM,%SmartCardName%,"ATR",0x00000001,3b,04,51,ff,08,00
HKLM,%SmartCardName%,"ATRMask",0x00000001,ff,ff,ff,ff,ff,ff
HKLM,%SmartCardName%,"Crypto Provider",0x00000000,"Microsoft Base Smart Card Crypto Provider"
HKLM, %SmartCardName%,"Smart Card Key Storage Provider",0x00000000,"Microsoft Smart Card Key Storage Provider"
HKLM,%SmartCardName%,"80000001",0x00000000,%SmartCardCardModule%
HKLM,%SmartCardNameWOW64%,"ATR",0x00000001,3b,04,51,ff,08,00
HKLM,%SmartCardNameWOW64%,"ATRMask",0x00000001,ff,ff,ff,ff,ff,ff
HKLM,%SmartCardNameWOW64%,"Crypto Provider",0x00000000,"Microsoft Base Smart Card Crypto Provider"
HKLM,%SmartCardNameWOW64%,"Smart Card Key Storage Provider",0x00000000,"Microsoft Smart Card Key Storage Provider"
HKLM,%SmartCardNameWOW64%,"80000001",0x00000000,%SmartCardCardModule%
[DestinationDirs]
System32_CopyFiles=10,system32
Syswow64_CopyFiles=10,syswow64
[FriendlyName]
ScFriendlyName="Super Card"
; =================== Generic ==================================
[Strings]
ProviderName="ACME"
MediaDescription="Super Card Mini Driver Installation Disk"
SCSuperCardDeviceName="Super Card Mini-driver"
SmartCardName="SOFTWARE\Microsoft\Cryptography\Calais\SmartCards\Super Card"
SmartCardNameWOW64="SOFTWARE\Wow6432Node\Microsoft\Cryptography\Calais\SmartCards\Microsoft Virtual Card"
SmartCardCardModule="supercm.dll"
SmartCardCardModule64="supercm64.dll"
umpass.SVCDESC = "Microsoft UMPass Driver"
智能卡微型驱动程序配置文件说明 (cmck_config.xml)
CMCK_config.xml 包含以下 V5、V6 和 V7 部分,具体取决于你的微型驱动程序支持的 V5/V6/V7 版本。 请注意:V5/V6/V7 关键字是大写的。
<CMCKConfig>
<V5>...</V5>
<V6>...</V6>
<V7>...</V7>
</CMCKConfig>
每个部分都用下面描述的 XML 标记填充。 另请注意,每个部分可能有不同的设置,具体取决于微型驱动程序支持的版本。
你可以在配置文件的每个部分中设置以下值(结构如图所示):
<Version> 是必填字段,定义配置文件版本号。 目前,V6 和 V7 部分的预期版本是 CMCK XML 配置文件的“2”,而 V5 部分的预期版本是“1”。
<CardDefaults> 包含用于认证运行和常规测试运行的参数。
<DefaultPins> - PIN 值,必须用于身份验证相关功能
<PinEntry><RoleID> - 允许的值:1 - 7
<PinEntry><Type> - 允许值:“AlphanumericPinType”、“ChallengeResponsePinType”、“EmptyPinType”、“ExternalPinType”
<PinEntry><Value> - PIN 的空格分隔的十六进制字节列表。 默认值:“0x30 0x30 0x30 0x30”(即“0000”)
<PinEntry><Blocking> [BOOLEAN] - 指定在错误的 PIN 出现太多次时是否支持针对此类用户阻止智能卡。 默认“True”。
<PinEntry><Linking> [BOOLEAN] - 指定此 PIN 是否链接到另一个 PIN,即更改一个 PIN 将更改另一个 PIN。 默认值“False”。
<PinEntry><AllowZeroLength> [BOOLEAN] - 指定卡是否允许 PIN 为空。 默认值“False”。
<CardSupports> - 定义卡或卡微型驱动程序支持的可选功能,例如算法、密钥类型等。 测试将涵盖支持的功能。
<MinimumVersion> [DWORD] 包含卡微型驱动程序支持的上下文 CARD_DATA 结构的最低版本。 有关详细信息,请参阅“智能卡微型驱动程序规范”。 允许的值为“4”、“5”、“6”、“7”。
<CurrentVersion> [DWORD] 包含卡微型驱动程序设计的上下文 CARD_DATA 结构的版本。 有关详细信息,请参阅“智能卡微型驱动程序规范”。 允许的值为“5”、“6”、“7”。
如果卡微型驱动程序支持在 CAPI 下加载,<LoadingUnderCAPI> [BOOLEAN] 为“True”,否则为“False”。
如果卡微型驱动程序支持在 CNG 下加载,<LoadingUnderCNG> [BOOLEAN] 为“True”,否则为“False”。 请注意,这两个属性中的至少一个必须为“True”(CAPI 或 CNG)。
如果卡微型驱动程序支持密钥导入,则 <KeyImport> [BOOLEAN] 为“True”,否则为“False”。
<KeyTypes> 包含卡微型驱动程序支持的以空格分隔的密钥类型列表。 对于 ECC 密钥,允许的值为“AT_ECDH_P256”、“AT_ECDH_P384”、“AT_ECDH_P521”、“AT_ECDSA_P256”、“AT_ECDSA_P384”或“AT_ECDSA_P521”,对于 RSA 密钥,允许值为“AT_SIGNATURE”或“AT_KEYEXCHANGE”。 如果支持卡上填充,则 <OnCardPadding> [BOOLEAN] 为“True”,否则为“False”。
<PaddingAlgorithms> 包含一个以空格分隔的受支持的卡上填充算法列表(仅当 <OnCardPadding> 为“True”时有效)。 允许的值为“CARD_PADDING_NONE”、“CARD_PADDING_PKCS1”和“CARD_PADDING_PSS”。
<SignHashAlgorithms> 包含卡微型驱动程序支持用于签名的以空格分隔的哈希算法列表(CARD_SIGNING_INFO 结构中的 aiHashAlg)。 允许的值为“CALG_MD2”、“CALG_MD4”、“CALG_MD5”、“CALG_SHA”、“CALG_SHA1”、“CALG_SHA_256”、“CALG_SHA_384”和“CALG_SHA_512”。 有关详细信息,请参阅“智能卡微型驱动程序规范”。
<SignHashFlags> 包含卡微型驱动程序支持的 CryptSignHash 标志的空格分隔列表。 允许的值为“CRYPT_NOHASHOID”和“CRYPT_X931_FORMAT”。
当卡微型驱动程序支持 CARD_SIGNING_INFO 结构中 dwSigningFlags 的 CARD_BUFFER_SIZE_ONLY 值时,<SignReturnBufferSize> [BOOLEAN] 为“True”。 有关详细信息,请参阅“智能卡微型驱动程序规范”。
<KDFTypes> 包含卡微型驱动程序支持的密钥派生函数的空格分隔列表。 允许的值为“HASH”、“HMAC”、“TLS_PRF”和“SP800_56A_CONCAT”。 有关详细信息,请参阅“智能卡微型驱动程序规范”。
<KDFHashAlgorithms> 包含卡微型驱动程序支持的密钥派生函数 (KDF) 的以空格分隔的哈希算法列表。 智能卡微型驱动程序规范包含更多详细信息。 允许的值在 bcrypt.h 头文件中定义,并且是 BCRYPT_XXXX_ALGORITHM 定义的值(例如,“SHA256”(BCRYPT_SHA256_ALGORITHM) 或“MD5”(BCRYPT_MD5_ALGORITHM))。
如果卡微型驱动程序仅支持 2 键 3DES,则 <Uses2Key3DES> 为“True”。 当此值为“False”时,表示卡微型驱动程序使用默认的 3 键 3DES。 默认值是“False”。
如果卡微型驱动程序支持具有 KDF_USE_SECRET_AS_HMAC_KEY_FLAG 标志的 BCRYPT_KDF_HMAC 密钥派生函数,则 <KDFHMACFlag> [BOOLEAN] 为“True”(有关详细信息,请参阅 MSDN CNG 上的“下一代加密 (CNG)”文档)。 当此值为“False”时,测试将提供显式 HMAC 密钥,并且不会为受影响的测试设置 KDF_USE_SECRET_AS_HMAC_KEY_FLAG 标志。
如果返回的卡质询数据包含填充位,则 <ChallengePadding> [BOOLEAN] 为“True”。 默认值是“False”。
<SupportsCardGetChallenge> [BOOLEAN] - 如果 CM 支持 CardGetChallenge API(用于只读卡),则为“True”。
<SupportsCardAuthenticateChallenge> [BOOLEAN] - 如果 CM 支持 CardAuthenticateChallenge API(用于只读卡),则为“True”。
<SupportsCardGetChallengeEx> [BOOLEAN] - 如果 CM 支持 CardGetChallengeEx API(用于只读卡),则为“True”。
<SupportsCardUnblockPin> [BOOLEAN] - 如果 CM 支持 CardUnblockPin API(用于只读卡),则为“True”。
<SupportsCardChangeAuthenticator> [BOOLEAN] - 如果 CM 支持 CardChangeAuthenticator API(这用于只读卡),则为“True”。
<SupportsCardChangeAuthenticatorEx> [BOOLEAN] - 如果 CM 支持 CardChangeAuthenticatorEx API(这用于只读卡),则为“True”。
<TestSuiteDefaults> 包含仅影响测试运行的参数。 (认证运行使用自己的默认值。)
<INF> 包含有关智能卡 PnP 中使用的 INF 文件的信息。
- <INFFile> 包含智能卡 PnP INF 文件的位置和文件名,该文件与要测试的智能卡/微型驱动程序匹配。 除内置 PIV/GICS 类微型驱动程序以外,此项对于所有微型驱动程序都是强制性的。
<Logging> 包含适用于测试运行的日志记录选项
<LogFile> 包含 XML 日志文件的位置和文件名。 默认为“CMCK_log.xml”(这意味着该文件将在当前目录中创建)。 请注意,日志文件将被覆盖。
当日志将显示在控制台上并写入日志文件时,<LogToConsole> [BOOLEAN] 为“True”。 默认值是“true”。
CertifyLogLevel 指定日志级别(0、1 或 2)。<> 0 表示最低日志记录级别,1 记录函数进入和退出,2 表示完整日志记录。 当你单独运行测试时始终使用完整日志记录,主要是为了帮助开发。 在提交徽标时,我们建议将日志级别设置为 0。
配置文件结构
以下代码示例显示了一个示例配置文件。
<CMCKConfig>
<V6>
<Version>2</Version>
<CardDefaults>
<DefaultPins>
<PinEntry>
<RoleID>1</RoleID>
<Type>AlphaNumericPinType</Type>
<Value>0x30 0x30 0x30 0x30</Value>
<Blocking>True</Blocking>
<AllowZeroLength>False</AllowZeroLength>
</PinEntry>
<PinEntry>
<RoleID>2</RoleID>
<Type>ChallengeResponsePinType</Type>
<Value>0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00</Value>
<Blocking>True</Blocking>
<AllowZeroLength>False</AllowZeroLength>
</PinEntry>
<PinEntry>
<RoleID>3</RoleID>
<Type>AlphaNumericPinType</Type>
<Value>0x30 0x30 0x30 0x30</Value>
<Blocking>True</Blocking>
<AllowZeroLength>False</AllowZeroLength>
</PinEntry>
<PinEntry>
<RoleID>4</RoleID>
<Type>AlphaNumericPinType</Type>
<Value>0x30 0x30 0x30 0x30</Value>
<Blocking>True</Blocking>
<AllowZeroLength>False</AllowZeroLength>
</PinEntry>
<PinEntry>
<RoleID>5</RoleID>
<Type>AlphaNumericPinType</Type>
<Value>0x30 0x30 0x30 0x30</Value>
<Blocking>True</Blocking>
<AllowZeroLength>False</AllowZeroLength>
</PinEntry>
<PinEntry>
<RoleID>6</RoleID>
<Type>AlphaNumericPinType</Type>
<Value>0x30 0x30 0x30 0x30</Value>
<Blocking>True</Blocking>
<AllowZeroLength>False</AllowZeroLength>
</PinEntry>
<PinEntry>
<RoleID>7</RoleID>
<Type>AlphaNumericPinType</Type>
<Value>0x30 0x30 0x30 0x30</Value>
<Blocking>True</Blocking>
<AllowZeroLength>False</AllowZeroLength>
</PinEntry>
</DefaultPins>
<CardSupports>
<MinimumVersion>4</MinimumVersion>
<CurrentVersion>6</CurrentVersion>
<LoadingUnderCAPI>True</LoadingUnderCAPI>
<LoadingUnderCNG>True</LoadingUnderCNG>
<KeyImport>True</KeyImport>
<KeyTypes>AT_SIGNATURE AT_KEYEXCHANGE</KeyTypes>
<OnCardPadding>False</OnCardPadding>
<PaddingAlgorithms>CARD_PADDING_PKCS1</PaddingAlgorithms>
<SignHashAlgorithms>CALG_MD5 CALG_SHA CALG_SHA1 CALG_SHA_256 CALG_SHA_384 CALG_SHA_512</SignHashAlgorithms>
<SignHashFlags />
<SignReturnBufferSize>True</SignReturnBufferSize>
<KDFTypes>HASH</KDFTypes>
<KDFHashAlgorithms>SHA1 SHA256 SHA384 SHA512</KDFHashAlgorithms>
<KDFHMACflag>False</KDFHMACflag>
<SupportsCardGetChallenge>True</SupportsCardGetChallenge>
<SupportsCardAuthenticateChallenge>True</SupportsCardAuthenticateChallenge>
<SupportsCardGetChallengeEx>True</SupportsCardGetChallengeEx>
<SupportsCardUnblockPin>True</SupportsCardUnblockPin>
<SupportsCardChangeAuthenticator>True</SupportsCardChangeAuthenticator>
<SupportsCardChangeAuthenticatorEx>True</SupportsCardChangeAuthenticatorEx>
</CardSupports>
</CardDefaults>
<TestSuiteDefaults>
<INF>
<INFFile>C:\SmartcardMinidriverTest\minidriver.inf</INFFile>
</INF>
<Logging>
<LogFile>CMCK_log.xml</LogFile>
<LogToConsole>True</LogToConsole>
</Logging>
<TestParams>
<TestParam>
<Test>MultiThreaded</Test>
<Name>t</Name>
<Value>5</Value>
</TestParam>
<TestParam>
<Test>MultiThreaded</Test>
<Name>n</Name>
<Value>5</Value>
</TestParam>
<TestParam>
<Test>NonRepeatingChallenge</Test>
<Name>n</Name>
<Value>300</Value>
</TestParam>
</TestParams>
</TestSuiteDefaults>
</V6>
<V5>
<Version>1</Version>
<CardDefaults>
<DefaultPins>
<PinEntry>
<Type>User</Type>
<Value>0x30 0x30 0x30 0x30</Value>
<Blocking>True</Blocking>
<AllowZeroLength>False</AllowZeroLength>
</PinEntry>
</DefaultPins>
<DefaultKeys>
<KeyEntry>
<Type>Admin</Type>
<Algorithm>3DES</Algorithm>
<Mode>ECB</Mode>
<Blocking>True</Blocking>
<Value>0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00</Value> </KeyEntry>
</DefaultKeys>
<CardSupports>
<MinimumVersion>4</MinimumVersion>
<CurrentVersion>6</CurrentVersion>
<LoadingUnderCAPI>True</LoadingUnderCAPI>
<LoadingUnderCNG>True</LoadingUnderCNG>
<KeyImport>True</KeyImport>
<KeyTypes>AT_SIGNATURE AT_KEYEXCHANGE</KeyTypes>
<OnCardPadding>False</OnCardPadding>
<PaddingAlgorithms>CARD_PADDING_NONE</PaddingAlgorithms>
<SignHashAlgorithms>CALG_MD5 CALG_SHA CALG_SHA1</SignHashAlgorithms>
<SignHashFlags>CRYPT_NOHASHOID</SignHashFlags>
<SignReturnBufferSize>False</SignReturnBufferSize>
<KDFTypes>HASH</KDFTypes>
<KDFHashAlgorithms>SHA1 SHA256 SHA384 SHA512</KDFHashAlgorithms>
<KDFHMACflag>False</KDFHMACflag>
</CardSupports>
</CardDefaults>
<TestSuiteDefaults>
<INF>
<INFFile>C:\SmartcardMinidriverTest\minidriver.inf</INFFile>
</INF>
<Logging>
<LogFile>CMCK_log.xml</LogFile>
<LogToConsole>True</LogToConsole>
</Logging>
<TestParams>
<TestParam>
<Test>MultiThreaded</Test>
<Name>t</Name>
<Value>5</Value>
</TestParam>
<TestParam>
<Test>MultiThreaded</Test>
<Name>n</Name>
<Value>5</Value>
</TestParam>
<TestParam>
<Test>NonRepeatingChallenge</Test>
<Name>n</Name>
<Value>300</Value>
</TestParam>
</TestParams>
</TestSuiteDefaults>
</V5>
</CMCKConfig>
命令语法
命令选项 | 说明 |
---|---|
cmck <command> [选项] |
运行测试。 |
注意
有关此测试二进制文件的命令行帮助,请键入 cmck help [command]
文件列表
文件 | 位置 |
---|---|
cmck.exe |
<[testbinroot]>\nttest\dstest\security\core\bin\credentials\smartcard |
cmck_simuse.exe |
<[testbinroot]>\nttest\dstest\security\core\bin\credentials\smartcard |
intrcptr.dll |
<[testbinroot]>\nttest\dstest\security\core\bin\credentials\smartcard |
参数
参数名称 | 参数说明 |
---|---|
WDKDeviceID | |
LLU_NetAccessOnly |