Compartir a través de


Prueba de certificación de Minidriver de tarjeta inteligente

Esta prueba automatizada comprueba el funcionamiento de los minidrivers de tarjeta inteligente y las tarjetas inteligentes asociadas.

Los minidrivers de tarjeta inteligente son archivos DLL de software cargados por el proveedor de servicios criptográficos base de Microsoft (CSP base) y el proveedor de almacenamiento de claves de tarjeta inteligente de Microsoft (SCKSP) para habilitar el acceso a la funcionalidad de la tarjeta inteligente asociada. En el caso de los proveedores de tarjetas inteligentes, estos minidrivers proporcionan una manera más sencilla de implementar la funcionalidad de tarjeta inteligente en sistemas operativos Microsoft Windows que mediante el desarrollo de un proveedor de servicios criptográficos (CSP) tradicional. (Históricamente, los minidrivers de tarjeta inteligente también se denominaban módulos de tarjeta inteligente o módulos de tarjetas inteligentes).

Esta prueba realiza pruebas funcionales, de esfuerzo, rendimiento y confiabilidad en un minidriver de tarjeta inteligente. Llama a Microsoft BaseCSP y al proveedor de almacenamiento de claves de tarjeta inteligente de Microsoft y accede directamente a los métodos de minidriver de tarjeta para probar la corrección del funcionamiento del minidriver de tarjeta y la tarjeta asociada. También usa la tarjeta inteligente Resource Manager para acceder directamente a la tarjeta.

Detalles de las pruebas

   
Especificaciones
  • Device.Input.SmartCardMiniDriver.SupportMultipleInstancesOnASystem
  • Device.Input.SmartCardMiniDriver.DoNotStopWhenResourcesAreUnavailable
  • Device.Input.SmartCardMiniDriver.SpecsAndCertifications
Plataformas
  • Windows 10, ediciones de cliente (x86)
  • Windows 10, ediciones cliente (x64)
  • Windows Server 2016 (x64)
  • Windows 10, ediciones de cliente (Arm64)
Versiones admitidas
  • Windows 10
  • Windows 10, versión 1511
  • Windows 10, versión 1607
  • Windows 10, versión 1703
  • Windows 10, versión 1709
  • Windows 10, versión 1803
  • Windows 10, versión 1809
  • Windows 10, versión 1903
  • Siguiente actualización a Windows 10
Tiempo de ejecución esperado (en minutos) 180
Categoría Compatibilidad
Tiempo de espera (en minutos) 10800
Requiere reinicio false
Requiere una configuración especial false
Tipo automatic

 

Documentación adicional

Las pruebas de este área de características pueden tener documentación adicional, incluidos los requisitos previos, la configuración y la información de solución de problemas, que se pueden encontrar en los temas siguientes:

Ejecución de la prueba

Antes de ejecutar la prueba, complete la configuración de prueba como se describe en los requisitos de prueba: Requisitos previos de pruebas de lector de tarjetas inteligentes.

Además, esta prueba requiere el siguiente hardware.

  • Lectores de tarjetas inteligentes con certificación WHQL

Solución de problemas

Para solucionar problemas genéricos de errores de prueba de HLK, consulte Solución de problemas de errores de prueba de HLK de Windows.

Para obtener información de solución de problemas, consulte Solución de problemas de Device.Input Testing.

Además, para obtener información de solución de problemas específica de tarjetas inteligentes, consulte los siguientes sitios web:

Más información

Esta prueba se encuentra en Windows HLK Studio como un único trabajo, aunque también puede ejecutar la herramienta desde fuera del entorno de Windows HLK Studio. Copie los archivos binarios de la ubicación que se especifica a continuación en un directorio de su elección y puede ejecutar la herramienta de prueba desde allí. También es posible que tenga que copiar la biblioteca compartida de Wttlog.dll en el directorio de ejecución. Este archivo DLL se instala con la aplicación cliente HLK de Windows.

Ejecutar la herramienta de prueba fuera de Windows HLK permite una mayor flexibilidad que ejecutar a través de DTM, ya que puede seleccionar pruebas individualmente. Para obtener más información, vea la descripción de la línea de comandos más adelante en este documento.

Si ejecuta la prueba desde el HLK de Windows, solo necesita un equipo cliente. En la documentación de Windows HLK se explica cómo configurar el controlador HLK de Windows, Windows HLK Studio y la aplicación cliente HLK de Windows en el equipo de prueba.

La siguiente información se aplica al equipo en el que se ejecuta la prueba, independientemente de si está ejecutando las pruebas dentro o fuera del entorno de Windows HLK.

Para ejecutar la prueba, debe tener instalado el minidriver de tarjeta inteligente en el equipo y registrado en el registro. (Además, para obtener más información sobre la certificación en una versión de 64 bits del sistema operativo, consulte la sección siguiente, "Certificación en una versión de 64 bits del sistema operativo"). Y si el dispositivo de tarjeta inteligente tiene el factor de forma ISO 7816 ID-1, debe usar un lector de tarjetas inteligentes certificado por WHQL para la certificación.

Para ejecutar las pruebas, debe tener dos tarjetas inteligentes idénticas en el equipo y ambas deben estar en el estado preparado, donde se define mediante la especificación de minidriver de tarjeta inteligente para el proveedor de servicios criptográficos base de Windows (CSP base) y el proveedor de almacenamiento de claves de tarjeta inteligente (KSP).

Las pruebas que se ejecutan dependen de las funcionalidades del minidriver de tarjeta inteligente. La funcionalidad del minidriver de tarjeta inteligente se puede definir para la herramienta de prueba en un archivo de configuración específico denominado cmck_config.xml, que debe colocar en el directorio C:\SmartCardMinidriverTest. A continuación se muestra la descripción de este archivo y un ejemplo.

En una ejecución de prueba típica, si no se encuentra ningún archivo de configuración, la prueba le pedirá confirmación para continuar usando valores predeterminados. Sin embargo, para un envío de logotipo, debe proporcionar un archivo de configuración que coincida con la funcionalidad de la combinación de minidriver y tarjeta.

Los valores de clave predeterminados son los siguientes:

  • El pin de usuario predeterminado es 0000.

  • La clave de administración predeterminada para desafíos y respuestas es ceros.

Certificación en una versión de 64 bits del sistema operativo

Al certificar en una versión de 64 bits del sistema operativo, también debe tener instalada la versión de 32 bits de la DLL de minidriver en el sistema. Puede colocar el archivo DLL en el subdirectorio %systemroot%\syswow64. Debe colocar entradas del Registro para la versión de 32 bits del archivo DLL en HKEY_LOCAL_MACHINE\SOFTWARE\wow6432Node\Microsoft\Cryptography\Calais\SmartCards.

Cuando se ejecuta una aplicación de 32 bits que usa el minidriver, carga la versión de 32 bits del minidriver.

Archivo INF para un minidriver de tarjeta inteligente

Al realizar un envío de certificación, debe proporcionar un archivo .inf. Este es el archivo .inf de ejemplo para la arquitectura x86:

[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"

Descripción del archivo de configuración del minidriver de tarjeta inteligente (cmck_config.xml)

CMCK_config.xml consta de secciones siguientes para V5, V6 y V7, en función de las versiones V5/V6/V7 compatibles con el minidriver. Tenga en cuenta que las palabras clave V5/V6/V7 están en mayúsculas.

<CMCKConfig>
  <V5>...</V5>
  <V6>...</V6>
  <V7>...</V7>
</CMCKConfig>

Cada sección se rellena con las etiquetas XML que se describen a continuación. Tenga en cuenta también que cada sección puede tener una configuración diferente, que depende de lo que admita el minidriver para esa versión.

Puede establecer los siguientes valores en cada sección del archivo de configuración (en la estructura como se muestra):

  • <La versión> es un campo obligatorio que define el número de versión del archivo de configuración. Actualmente, la versión esperada es "2" del archivo de configuración XML cmCK para las secciones V6 y V7, y "1" para la sección V5.

  • <CardDefaults> contiene parámetros que se usan para la ejecución de la certificación y para las ejecuciones de pruebas normales.

    • <DefaultPins> : valores de patillas que se deben usar para las funciones relacionadas con la autenticación

      <PinEntry><RoleID> : valor permitido: 1 - 7

      <Tipo> PinEntry><: valor permitido: "AlphanumericPinType", "ChallengeResponsePinType", "EmptyPinType", "ExternalPinType"

      <Valor> de PinEntry><: lista de bytes hexadecimales separados por espacios del pin. Valor predeterminado: "0x30 0x30 0x30 0x30" (es decir, "0000")

      <PinEntry><Blocking> [BOOLEAN] : indica si la tarjeta admite el bloqueo de la tarjeta para este tipo de usuario cuando el pin incorrecto se presenta demasiadas veces. Valor predeterminado "True".

      <PinEntry><Linking> [BOOLEAN] : indica si este pin está vinculado a otro pin, es decir, al cambiar un pin, se cambiará el otro. Valor predeterminado "False".

      <PinEntry><AllowZeroLength> [BOOLEAN] : indica si la tarjeta permite que el pin esté vacío. Valor predeterminado "False".

  • <CardSupports> : define características opcionales compatibles con la tarjeta o minidriver de tarjeta, como algoritmos, tipos de clave, etc. La prueba abarcará las características admitidas.

    1. <MinimumVersion> [DWORD] contiene la versión mínima del contexto CARD_DATA estructura que admite el minidriver de tarjeta. Para obtener más información, consulte la especificación de Minidriver de tarjeta inteligente. El valor permitido es "4", "5", "6", "7".

    2. <CurrentVersion> [DWORD] contiene la versión del contexto CARD_DATA estructura para la que se diseñó el minidriver de tarjeta. Para obtener más información, consulte la especificación de Minidriver de tarjeta inteligente. El valor permitido es "5", "6", "7".

    3. <LoadingUnderCAPI> [BOOLEAN] es "True" si el minidriver de tarjeta admite la carga en CAPI y es "False" de lo contrario.

    4. <LoadingUnderCNG> [BOOLEAN] es "True" si el minidriver de tarjeta admite la carga en CNG y es "False" de lo contrario. Tenga en cuenta que al menos uno de los dos atributos debe ser "True" (CAPI o CNG).

    5. <KeyImport> [BOOLEAN] es "True" si el minidriver de tarjeta admite la importación de claves y es "False" de lo contrario.

    6. <KeyTypes> contiene una lista separada por espacios de tipos de clave que admite el minidriver de tarjeta. Los valores permitidos son "AT_ECDH_P256", "AT_ECDH_P384", "AT_ECDH_P521", "AT_ECDSA_P256", "AT_ECDSA_P384" o "AT_ECDSA_P521" para las claves ECC y "AT_SIGNATURE" o "AT_KEYEXCHANGE" para las claves RSA. <OnCardPadding> [BOOLEAN] es "True" si se admite el relleno en tarjeta y es "False" en caso contrario.

    7. <PaddingAlgorithms> contiene una lista separada por espacios de algoritmos de relleno admitidos en tarjeta (solo válidos cuando <OnCardPadding> es "True"). Los valores permitidos son "CARD_PADDING_NONE", "CARD_PADDING_PKCS1" y "CARD_PADDING_PSS".

    8. <SignHashAlgorithms> contiene una lista separada por espacios de algoritmos hash que admite el minidriver de tarjeta para la firma (aiHashAlg en la estructura CARD_SIGNING_INFO). Los valores permitidos son "CALG_MD2", "CALG_MD4", "CALG_MD5", "CALG_SHA", "CALG_SHA1", "CALG_SHA_256", CALG_SHA_384" y CALG_SHA_512". Para obtener más información, consulte la especificación de Minidriver de tarjeta inteligente.

    9. <SignHashFlags> contiene una lista separada por espacios de marcas CryptSignHash que admite el minidriver de tarjeta. Los valores permitidos son "CRYPT_NOHASHOID" y "CRYPT_X931_FORMAT".

    10. <SignReturnBufferSize> [BOOLEAN] es "True" cuando el minidriver de tarjeta admite el valor de CARD_BUFFER_SIZE_ONLY para dwSigningFlags en la estructura de CARD_SIGNING_INFO. Para obtener más información, consulte la especificación de Minidriver de tarjeta inteligente.

    11. <KDFTypes> contiene una lista separada por espacios de funciones de derivación de claves que admite el minidriver de tarjeta. Los valores permitidos son "HASH", "HMAC", "TLS_PRF" y "SP800_56A_CONCAT". Para obtener más información, consulte la especificación de Minidriver de tarjeta inteligente.

    12. <KDFHashAlgorithms> contiene una lista separada por espacios de algoritmos hash que admite el minidriver de tarjeta para las funciones de derivación de claves (KDF). La especificación de minidriver de tarjeta inteligente contiene más detalles. Los valores permitidos se definen en el archivo de encabezado bcrypt.h y son los valores de BCRYPT_XXXX_ALGORITHM define (por ejemplo, "SHA256" (BCRYPT_SHA256_ALGORITHM) o "MD5" (BCRYPT_MD5_ALGORITHM)).

    13. <Uses2Key3DES> [BOOLEAN] es "True" si el minidriver de tarjeta SOLO admite 2 teclas 3DES. Cuando este valor es "False", indica que el minidriver de tarjeta usa la tecla 3DES predeterminada. El valor predeterminado es "False".

    14. <KDFHMACFlag> [BOOLEAN] es "True" si el minidriver de tarjeta admite la función de derivación de clave BCRYPT_KDF_HMAC que tiene la marca KDF_USE_SECRET_AS_HMAC_KEY_FLAG (consulte la documentación de Crypto Next Generation (CNG) disponible en MSDN CNG para obtener más información). Cuando este valor es "False", la prueba proporcionará una clave HMAC explícita y no establecerá la marca de KDF_USE_SECRET_AS_HMAC_KEY_FLAG para las pruebas afectadas.

    15. <ChallengePadding>[BOOLEAN] es "True" si la devolución de datos de desafío de tarjeta contiene un bit de relleno. El valor predeterminado es "False".

    16. <SupportsCardGetChallenge> [BOOLEAN] - "True" si CM admite CardGetChallenge API (se usa para tarjetas de solo lectura).

    17. <SupportsCardAuthenticateChallenge> [BOOLEAN] - "True" si CM admite CardAuthenticateChallenge API (se usa para tarjetas de solo lectura).

    18. <SupportsCardGetChallengeEx> [BOOLEAN] - "True" si CM admite CardGetChallengeEx API (se usa para tarjetas de solo lectura).

    19. <SupportsCardUnblockPin> [BOOLEAN] - "True" si CM admite cardUnblockPin API (se usa para tarjetas de solo lectura).

    20. <SupportsCardChangeAuthenticator> [BOOLEAN] - "True" si CM admite cardChangeAuthenticator API (se usa para tarjetas de solo lectura).

    21. <SupportsCardChangeAuthenticatorEx> [BOOLEAN] - "True" si CM admite CardChangeAuthenticatorEx API (se usa para tarjetas de solo lectura).

  • <TestSuiteDefaults> contiene parámetros que influyen solo en las ejecuciones de pruebas. (La ejecución de certificación usa sus propios valores predeterminados).

    1. <INF> contiene información sobre el archivo INF que se usa en PnP de tarjeta inteligente.

      • <INFFile> contiene la ubicación y el nombre de archivo del archivo PnP INF de tarjeta inteligente, que coincide con la tarjeta inteligente o minidriver que se va a probar. Esto es obligatorio para todos los minidrivers que no sean minidriver de clase PIV/GICS in-box.
    2. <El registro> contiene opciones de registro que se aplican a las ejecuciones de prueba.

      1. <LogFile> contiene la ubicación y el nombre de archivo del archivo de registro XML. El valor predeterminado es "CMCK_log.xml" (lo que significa que el archivo se creará en el directorio actual). Tenga en cuenta que el archivo de registro se sobrescribirá.

      2. <LogToConsole> [BOOLEAN] es "True" cuando los registros se mostrarán en la consola junto con la escritura en el archivo de registro. El valor predeterminado es "True".

      3. <CertifyLogLevel> especifica el nivel de registro (0, 1 o 2). 0 significa registro mínimo, 1 registro de entrada y salida de la función, y 2 significa registro completo. El registro completo siempre se usa al ejecutar pruebas individualmente y es principalmente para ayudar con el desarrollo. Cuando realice un envío de logotipo, se recomienda establecer el nivel de registro en 0.

Estructura del archivo de configuración

En el ejemplo de código siguiente se muestra un archivo de configuración de ejemplo.


<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>

Sintaxis de comandos

Opción de comando Descripción

comando> cmck <[options]

Ejecuta la prueba.

Nota

   Para obtener ayuda de la línea de comandos para este binario de prueba, escriba cmck help [command]

 

Lista de archivos

Archivo Ubicación

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

 

Parámetros

Nombre de parámetro Descripción de los parámetros
WDKDeviceID
LLU_NetAccessOnly