共用方式為


智慧卡迷你驅動程式認證測試

此自動化測試會驗證智慧卡迷你驅動程式和相關聯智慧卡的作業。

智慧卡迷你驅動程式是由 Microsoft 基礎密碼編譯服務提供者 (基底 CSP) 和 Microsoft 智慧卡金鑰儲存提供者 (SCKSP) 載入的軟體 DLL,可存取相關聯智慧卡的功能。 對於智慧卡廠商,這些迷你驅動程式提供更簡單的方式,在 Microsoft Windows 作業系統上實作智慧卡功能,比開發傳統的密碼編譯服務提供者 (CSP) 。 (過去,智慧卡迷你驅動程式也稱為智慧卡模組或智慧卡模組。)

此測試會在智慧卡迷你驅動程式上執行功能、壓力、效能和可靠性測試。 它會呼叫 Microsoft BaseCSP 和 Microsoft 智慧卡金鑰儲存提供者,並直接存取卡片迷你驅動程式方法,以測試卡片迷你驅動程式和相關聯卡片的作業正確性。 它也會使用智慧卡Resource Manager直接存取卡片。

測試詳細資料

   
規格
  • Device.Input.SmartCardMiniDriver.SupportMultipleInstancesOnASystem
  • Device.Input.SmartCardMiniDriver.DoNotStopWhenResourcesAreUnavailable
  • Device.Input.SmartCardMiniDriver.SpecsAndCertifications
平台
  • Windows 10,用戶端版本 (x86)
  • Windows 10,用戶端版本 (x64)
  • Windows Server 2016 (x64)
  • Windows 10,用戶端版本 (Arm64)
支援的版本
  • Windows 10
  • Windows 10 (版本 1511)
  • Windows 10 (版本 1607)
  • Windows 10 (版本 1703)
  • Windows 10 (版本 1709)
  • Windows 10 (版本 1803)
  • Windows 10 版本 1809
  • Windows 10 (版本 1903)
  • Windows 10的下一個更新
預期的執行時間 (以分鐘為單位) 180
類別 相容性
以分鐘為單位的逾時 () 10800
需要重新開機 false
需要特殊設定 false
類型 automatic

 

其他檔

此功能區域中的測試可能會有其他檔,包括必要條件、設定和疑難排解資訊,可在下列主題中找到 () :

執行測試

執行測試之前,請先完成測試設定,如測試需求: 智慧卡讀取器測試必要條件中所述。

此外,此測試需要下列硬體。

  • 經 WHQL 認證的智慧卡閱讀機

疑難排解

如需 HLK 測試失敗的一般疑難排解,請參閱 針對 Windows HLK 測試失敗進行疑難排解

如需疑難排解資訊,請參閱 針對 Device.Input Testing 進行疑難排解

此外,如需智慧卡特定的疑難排解資訊,請參閱下列網站:

詳細資訊

這項測試位於 Windows HLK Studio 中作為單一作業,不過您也可以從 Windows HLK Studio 環境外部執行此工具。 將下面指定位置的二進位檔複製到您選擇的目錄,您可以從該處執行測試控管。 您可能也必須將Wttlog.dll共用程式庫複製到您的執行目錄。 此 DLL 會隨 Windows HLK 用戶端應用程式一起安裝。

在 Windows HLK 外部執行測試控管,可提供比透過 DTM 執行更大的彈性,因為您可以個別選取測試。 如需詳細資訊,請參閱本檔稍後的命令列描述。

如果您是從 Windows HLK 執行測試,則只需要一部用戶端電腦。 Windows HLK 檔說明如何在測試電腦上設定 Windows HLK 控制器、Windows HLK Studio 和 Windows HLK 用戶端應用程式。

下列資訊適用于正在執行測試的電腦,不論您是在 Windows HLK 環境內部或外部執行測試。

若要執行測試,您必須在電腦上安裝智慧卡迷你驅動程式,並在登錄中註冊。 (Also, for more information about certifying on a 64-bit version of the operating system, see the next section, "Certifying on a 64-bit version of the operating system"). 如果您的智慧卡裝置具有 ISO 7816 ID-1 尺寸,您必須使用符合電腦/SC 標準的 WHQL 認證智慧卡閱讀機進行認證。

若要執行測試,您必須在電腦上有兩個相同的智慧卡,而且兩者都必須處於備妥狀態,其中備妥是由 Windows 基礎密碼編譯服務提供者的智慧卡 Minidriver 規格所定義, (Base CSP) 和智慧卡金鑰儲存提供者 (KSP) 。

執行的測試取決於智慧卡迷你驅動程式的功能。 智慧卡迷你驅動程式的功能可以在名為 cmck_config.xml 的特定組態檔中,為測試控管定義,您必須將其放入 C:\SmartCardMinidriverTest 目錄中。 此檔案的描述和範例如下。

在典型的測試回合中,如果找不到組態檔,測試會要求您確認繼續使用預設值。 不過,針對標誌提交,您必須提供符合迷你驅動程式和卡片組合功能的組態檔。

預設索引鍵值如下所示:

  • 預設使用者釘選為 0000。

  • 挑戰/回應的預設管理金鑰都是零。

在 64 位版本的作業系統上認證

當您在 64 位版本的作業系統上認證時,也必須在系統上安裝 32 位版本的 minidriver DLL。 您可以將 DLL 放在 %systemroot%\syswow64 子目錄中。 您必須將 32 位版本的 DLL 登錄專案放在 HKEY_LOCAL_MACHINE\SOFTWARE\wow6432Node\Microsoft\Cryptography\Calais\SmartCards之下。

執行使用迷你驅動程式的 32 位應用程式時,它會載入 32 位版本的 minidriver。

智慧卡迷你驅動程式的 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 > - 必須用於驗證相關函式的釘選值

      <PinEntry >< RoleID > - 允許的值:1 - 7

      <PinEntry >< 類型 > - 允許的值:「AlphanumericPinType」、「ChallengeResponsePinType」、「EmptyPinType」、「ExternalPinType」

      <PinEntry >< 值 > - 針腳的空間分隔十六進位位元組清單。 預設值:「0x30 0x30 0x30 0x30」 (為 「0000」)

      <PinEntry >< 封鎖 > [BOOLEAN] - 如果卡片支援在錯誤釘選出現太多次時封鎖這類使用者的卡片,則為狀態。 預設 「True」。

      <PinEntry >< 連結 > [BOOLEAN] - 指出此針腳已連結至另一個針腳,也就是變更一個針腳會使另一個針腳變更。 預設 「False」。

      <PinEntry >< AllowZeroLength > [BOOLEAN] - 如果卡片允許針腳空白,則為狀態。 預設 「False」。

  • <CardSupports > -定義卡片或卡片迷你驅動程式支援的選擇性功能,例如演算法、金鑰類型等等。 測試將涵蓋支援的功能。

    1. <MinimumVersion > [DWORD] 包含卡片 minidriver 所支援之內容CARD_DATA結構的最低版本。 如需詳細資訊,請參閱智慧卡 Minidriver 規格。 允許的值為 「4」、「5」、「6」、「7」。

    2. <CurrentVersion > [DWORD] 包含設計卡片迷你驅動程式的內容CARD_DATA結構版本。 如需詳細資訊,請參閱智慧卡 Minidriver 規格。 允許的值為 「5」、「6」、「7」。

    3. <如果卡片 minidriver 支援在 CAPI 下載入,則 LoadUnderCAPI > [BOOLEAN] 為 「True」,否則為 「False」。

    4. <如果卡片 minidriver 支援在 CNG 下載入,則 LoadUnderCNG > [BOOLEAN] 為 「True」,否則為 「False」。 請注意,至少兩個屬性的其中一個必須是 「True」 (CAPI 或 CNG) 。

    5. <如果卡片 minidriver 支援金鑰匯入,則 KeyImport > [BOOLEAN] 為 「True」,否則為 「False」。

    6. <KeyTypes > 包含卡片 minidriver 支援的金鑰類型空間分隔清單。 允許的值是 ECC 金鑰的 「AT_ECDH_P256」、「AT_ECDH_P384」、「AT_ECDH_P521」、「AT_ECDSA_P256」、「AT_ECDSA_P384」,或 ECC 金鑰的 「AT_ECDSA_P521」 和 「AT_SIGNATURE」 或 「AT_KEYEXCHANGE」。 <如果支援卡片填補,則 OnCardPadding > [BOOLEAN] 為 「True」,否則為 「False」。

    7. <PaddingAlgorithms > 包含以空格分隔的卡片填補演算法清單, (只有在 OnCardPadding > 為 「True」 ) 時才 < 有效。 允許的值為 「CARD_PADDING_NONE」、「CARD_PADDING_PKCS1」 和 「CARD_PADDING_PSS」。

    8. <SignHashAlgorithms > 包含卡片 minidriver 支援在 CARD_SIGNING_INFO 結構中 (簽署 aiHashAlg 的雜湊演算法空間分隔清單) 。 允許的值為 「CALG_MD2」、「CALG_MD4」、「CALG_MD5」、「CALG_SHA」、「CALG_SHA1」、「CALG_SHA_256」、「CALG_SHA_384」 和 CALG_SHA_512」。 如需詳細資訊,請參閱智慧卡 Minidriver 規格。

    9. <SignHashFlags > 包含卡片 minidriver 支援的 CryptSignHash 旗標空間分隔清單。 允許的值是 「CRYPT_NOHASHOID」 和 「CRYPT_X931_FORMAT」。

    10. <當卡片 minidriver 支援 CARD_SIGNING_INFO 結構中 dwSigningFlags 的CARD_BUFFER_SIZE_ONLY值時,SignReturnBufferSize > [BOOLEAN] 為 「True」。 如需詳細資訊,請參閱智慧卡 Minidriver 規格。

    11. <KDFTypes > 包含卡片 minidriver 支援的金鑰衍生函式空間分隔清單。 允許的值為 「HASH」、「HMAC」、「TLS_PRF」 和 「SP800_56A_CONCAT」。 如需詳細資訊,請參閱智慧卡 Minidriver 規格。

    12. <KDFHashAlgorithms > 包含卡片 minidriver 針對金鑰衍生函式所支援的雜湊演算法空間分隔清單, (KDF) 。 智慧卡 Minidriver 規格包含更多詳細資料。 允許的值是在 bcrypt.h 標頭檔中定義,而且是 BCRYPT_XXXX_ALGORITHM 定義 (的值,例如「SHA256」 (BCRYPT_SHA256_ALGORITHM) 或 「MD5」 (BCRYPT_MD5_ALGORITHM) ) 。

    13. <如果卡片迷你驅動程式只支援 2 鍵 3DES,則使用2Key3DES > [BOOLEAN] 為 「True」。 當此值為 「False」 時,表示卡片迷你驅動程式使用預設的 3 鍵 3DES。 預設值為 「False」。

    14. <KDFHMACFlag > [BOOLEAN] 為 「True」,如果卡片 minidriver 支援具有 BCRYPT_KDF_HMAC KDF_USE_SECRET_AS_HMAC_KEY_FLAG旗標的 ( (請參閱 MSDN CNG 上提供的加密新一代 () 檔,以取得詳細資訊) 。 當此值為 「False」 時,測試會提供明確的 HMAC 金鑰,且不會設定受影響測試的KDF_USE_SECRET_AS_HMAC_KEY_FLAG旗標。

    15. <ChallengePadding > [BOOLEAN] 如果卡片挑戰資料的傳回包含填補位,則為 「True」。 預設值為 「False」。

    16. <SupportsCardGetChallenge > [BOOLEAN] - 如果 CM 支援 CardGetChallenge API, (這是用於唯讀卡片) 。

    17. <SupportsCardAuthenticateChallenge > [BOOLEAN] - 「True」 如果 CM 支援 CardAuthenticateChallenge API (這是用於唯讀卡片) 。

    18. <SupportsCardGetChallengeEx > [BOOLEAN] - 如果 CM 支援 CardGetChallengeEx API, (這是用於唯讀卡片) 。

    19. <SupportsCardUnblockPin > [BOOLEAN] - 如果 CM 支援 CardUnblockPin API (這是用於唯讀卡片) ,則為 「True」。

    20. <SupportsCardChangeAuthenticator > [BOOLEAN] - 如果 CM 支援 CardChangeAuthenticator API, (這是用於唯讀卡片) 。

    21. <SupportsCardChangeAuthenticatorEx > [BOOLEAN] - 如果 CM 支援 CardChangeAuthenticatorEx API, (這是用於唯讀卡片) 。

  • <TestSuiteDefaults > 包含只會影響測試回合的參數。 (認證執行會使用自己的預設值。)

    1. <INF > 包含智慧卡 PnP 中使用的 INF 檔案相關資訊。

      • <INFFile > 包含智慧卡 PnP INF 檔案的位置和檔案名,符合要測試的智慧卡/迷你驅動程式。 這是內建 PIV/GICS 類別 minidriver 以外的所有迷你驅動程式的必要專案。
    2. <記錄 > 包含適用于測試回合的記錄選項

      1. <LogFile > 包含 XML 記錄檔的位置和檔案名。 預設值為 「CMCK_log.xml」 (這表示檔案將會在目前的目錄中建立) 。 請注意,將會覆寫記錄檔。

      2. <LogToConsole > [BOOLEAN] 會在主控台上顯示記錄以及寫入記錄檔時為 「True」。 預設值為 「True」。

      3. <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 < 命令 > [options]

執行測試。

注意

   針對此測試二進位檔的命令列說明,請輸入 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