스마트 카드 미니드라이버 인증 테스트
이 자동화된 테스트는 스마트 카드 미니드라이버 및 관련 스마트 카드의 작동을 확인합니다.
스마트 카드 미니드라이버는 연결된 스마트 카드의 기능에 액세스할 수 있도록 Microsoft Base CSP(기본 암호화 서비스 공급자) 및 SCKSP(스마트 카드 키 스토리지 공급자)에서 로드하는 소프트웨어 DLL입니다. 스마트 카드 공급자의 경우 이러한 미니드라이버는 기존 CSP(암호화 서비스 공급자)를 개발하는 것보다 Microsoft Windows 운영 체제에서 스마트 카드 기능을 구현하는 더 간단한 방법을 제공합니다. (지금까지 스마트 카드 미니드라이버는 스마트 카드 모듈 또는 스마트 카드 모듈이라고도 합니다.)
이 테스트는 스마트 카드 미니드라이버에서 기능, 스트레스, 성능 및 안정성 테스트를 수행합니다. Microsoft BaseCSP 및 Microsoft 스마트 카드 키 스토리지 공급자를 호출하고 카드 미니드라이버 메서드에 직접 액세스하여 카드 미니드라이버 및 관련 카드의 작동 정확성을 테스트합니다. 또한 스마트 카드 Resource Manager를 사용하여 카드에 직접 액세스합니다.
테스트 세부 정보
사양 |
|
플랫폼 |
|
지원되는 릴리스 |
|
예상 실행 시간(분) | 180 |
범주 | 호환성 |
시간 제한(분) | 10800 |
다시 부팅 필요 | false |
특별한 구성 필요 | false |
형식 | automatic |
추가 설명서
이 기능 영역의 테스트에는 다음 항목에서 찾을 수 있는 필수 조건, 설정, 문제 해결 정보를 포함한 추가 설명서가 있을 수 있습니다.
테스트 실행
테스트를 실행하기 전에 테스트 요구 사항: 스마트 카드 읽기 권한자 테스트 필수 조건에 설명된 대로 테스트 설정을 완료합니다.
또한 이 테스트에는 다음 하드웨어가 필요합니다.
- WHQL 인증 스마트 카드 판독기
문제 해결
HLK 테스트 실패의 일반적인 문제 해결은 Windows HLK 테스트 실패 문제 해결을 참조하세요.
문제 해결 정보는 Device.Input 테스트 문제 해결을 참조하세요.
또한 스마트 카드별 문제 해결 정보는 다음 웹 사이트를 참조하세요.
추가 정보
이 테스트는 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 환경 내부 또는 외부에서 테스트를 실행하는지 여부에 관계없이 테스트가 실행되는 컴퓨터에 적용됩니다.
테스트를 실행하려면 스마트 카드 미니드라이버가 컴퓨터에 설치되어 있고 레지스트리에 등록되어 있어야 합니다. (또한 64비트 버전의 운영 체제에서 인증하는 방법에 대한 자세한 내용은 다음 섹션 "64비트 버전의 운영 체제에서 인증"을 참조하세요.) 또한 스마트 카드 디바이스에 ISO 7816 ID-1 폼 팩터가 있는 경우 인증을 위해 PC/SC 규격 WHQL 인증 스마트 카드 판독기를 사용해야 합니다.
테스트를 실행하려면 컴퓨터에 두 개의 동일한 스마트 카드가 있어야 하며 둘 다 준비된 상태에 있어야 합니다. 준비된 상태는 Windows 기본 CSP(기본 암호화 서비스 공급자) 및 스마트 카드 KSP(키 스토리지 공급자)용 스마트 카드 미니드라이버 사양에 의해 정의됩니다.
실행되는 테스트는 스마트 카드 미니드라이버의 기능에 따라 다릅니다. 스마트 카드 미니드라이버의 기능은 cmck_config.xml이라는 특정 구성 파일에서 테스트 도구에 대해 정의할 수 있습니다. 이 파일을 C:\SmartCard미니드라이버Test 디렉터리에 넣어야 합니다. 이 파일과 샘플에 대한 설명은 다음과 같습니다.
일반적인 테스트 실행에서 구성 파일이 없으면 테스트는 기본값을 사용하여 계속할지 확인하는 메시지를 표시합니다. 그러나 로고 제출의 경우 미니드라이버 및 카드 조합의 기능과 일치하는 구성 파일을 제공해야 합니다.
기본 키 값은 다음과 같습니다.
기본 사용자 핀은 0000입니다.
챌린지/응답에 대한 기본 관리형 키는 모두 0입니다.
64비트 버전의 운영 체제에서 인증
64비트 버전의 운영 체제에서 인증하는 경우 시스템에 32비트 버전의 미니드라이버 DLL도 설치되어 있어야 합니다. DLL을 %systemroot%\syswow64 하위 디렉터리에 넣을 수 있습니다. HKEY_LOCAL_MACHINE\SOFTWARE\wow6432Node\Microsoft\Cryptography\Calais\SmartCards 아래에 DLL의 32비트 버전에 대한 레지스트리 항목을 넣어야 합니다.
미니드라이버를 사용하는 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>은 구성 파일의 버전 번호를 정의하는 필수 필드입니다. 현재 예상되는 버전은 CMCK XML 구성 파일에서 V6 및 V7 섹션의 경우 "2"이고 V5 섹션의 경우 "1"입니다.
<CardDefaults>에는 인증 실행과 일반 테스트 실행 모두에 사용되는 매개 변수가 포함되어 있습니다.
<DefaultPins> - 인증 관련 기능에 사용해야 하는 핀 값입니다.
<PinEntry><RoleID> - 허용되는 값: 1 - 7입니다.
<PinEntry><Type> - 허용되는 값: "AlphanumericPinType", "ChallengeResponsePinType", "EmptyPinType", "ExternalPinType"입니다.
<PinEntry><Value> - 핀의 공백으로 구분된 16진수 바이트 목록입니다. 기본값: "0x30 0x30 0x30 0x30"(즉, "0000")
<PinEntry><Blocking> [BOOLEAN] - 잘못된 핀이 너무 많이 표시될 때 카드가 이러한 유형의 사용자에 대한 카드 차단을 지원하는지 여부를 나타냅니다. 기본값 "True".
<PinEntry><Linking> [BOOLEAN] - 이 핀이 다른 핀에 연결되어 있는지 여부를 나타냅니다. 즉, 한 핀을 변경하면 다른 핀도 변경됩니다. 기본값 "False".
<PinEntry><AllowZeroLength> [BOOLEAN] - 카드에서 핀을 비울 수 있는지 여부를 나타냅니다. 기본값 "False".
<CardSupports> - 알고리즘, 키 유형 등과 같이 카드 또는 카드 미니드라이버에서 지원하는 선택적 기능을 정의합니다. 테스트는 지원되는 기능을 다룹니다.
<MinimumVersion> [DWORD]에는 카드 미니드라이버가 지원하는 컨텍스트 CARD_DATA 구조의 최소 버전이 포함됩니다. 자세한 내용은 스마트 카드 미니드라이버 사양을 참조하세요. 허용되는 값은 "4", "5", "6", "7"입니다.
<CurrentVersion> [DWORD]는 카드 미니드라이버가 설계된 컨텍스트 CARD_DATA 구조의 버전을 포함합니다. 자세한 내용은 스마트 카드 미니드라이버 사양을 참조하세요. 허용되는 값은 "5", "6", "7"입니다.
<LoadingUnderCAPI> [BOOLEAN]은 카드 미니드라이버가 CAPI에서 로드를 지원하는 경우 "True"이고 그렇지 않은 경우 "False"입니다.
<LoadingUnderCNG> [BOOLEAN]은 카드 미니드라이버가 CNG에서 로드를 지원하는 경우 "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"입니다.
<SignReturnBufferSize> [BOOLEAN]은 카드 미니드라이버가 CARD_SIGNING_INFO 구조의 dwSigningFlags에 대한 CARD_BUFFER_SIZE_ONLY 값을 지원하는 경우 "True"입니다. 자세한 내용은 스마트 카드 미니드라이버 사양을 참조하세요.
<KDFTypes>에는 카드 미니드라이버가 지원하는 키 파생 함수의 공백으로 구분된 목록이 포함되어 있습니다. 허용되는 값은 "HASH", "HMAC", "TLS_PRF" 및 "SP800_56A_CONCAT"입니다. 자세한 내용은 스마트 카드 미니드라이버 사양을 참조하세요.
<KDFHashAlgorithms>에는 카드 미니드라이버가 KDF(키 파생 함수)에 대해 지원하는 해시 알고리즘의 공백으로 구분된 목록이 포함되어 있습니다. 스마트 카드 미니드라이버 사양에 자세한 내용이 포함되어 있습니다. 허용되는 값은 bcrypt.h 헤더 파일에 정의되며 BCRYPT_XXXX_ALGORITHM이 정의하는 값입니다(예: "SHA256"(BCRYPT_SHA256_ALGORITHM) 또는 "MD5"(BCRYPT_MD5_ALGORITHM)).
<Uses2Key3DES> [BOOLEAN]은 카드 미니드라이버가 2개의 키 3DES만 지원하는 경우 "True"입니다. 이 값이 "False"이면 카드 미니드라이버가 기본 3 키 3DES를 사용함을 나타냅니다. 기본값은 "False"입니다.
<KDFHMACFlag> [BOOLEAN]은 카드 미니드라이버가 KDF_USE_SECRET_AS_HMAC_KEY_FLAG 플래그가 있는 BCRYPT_KDF_HMAC 키 파생 기능을 지원하는 경우 "True"입니다(자세한 내용은 MSDN CNG에서 사용할 수 있는 CNG(Crypto Next Generation) 설명서 참조). 이 값이 "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 <명령> [옵션] |
테스트를 실행합니다. |
참고
이 테스트 이진에 대한 명령줄 도움말을 보려면 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 |