Ifdtest2 Part D (SC Reader LOGO) - (Test manuale)
Questo test verifica la funzionalità del lettore smart card convalidando le schede di test del gruppo di lavoro PC/SC. La parte D richiede le schede di test PC/SC.
Dettagli del test
Specifiche |
|
Piattaforme |
|
Versioni supportate |
|
Tempo di esecuzione previsto (in minuti) | 5 |
Categoria | Compatibilità |
Timeout (in minuti) | 300 |
Richiede il riavvio | false |
Richiede una configurazione speciale | false |
Tipo | automatic |
Documentazione aggiuntiva
I test in questa area di funzionalità potrebbero avere documentazione aggiuntiva, inclusi prerequisiti, configurazione e informazioni sulla risoluzione dei problemi, disponibili negli argomenti seguenti:
Esecuzione del test
Prima di eseguire il test, completare l'installazione del test come descritto nei requisiti di test: Prerequisiti per il test di lettura smart card.
Risoluzione dei problemi relativi
Per la risoluzione dei problemi generici degli errori di test HLK, vedere Risoluzione dei problemi di test di Windows HLK.
Per informazioni sulla risoluzione dei problemi, vedere Risoluzione dei problemi relativi ai test device.input.
Altre informazioni
Questo test verifica la funzionalità del lettore smart card convalidando la revisione due delle schede di test del gruppo di lavoro PC/SC.
Il test e il relativo hardware devono essere in grado di eseguire test IFD specifici e produrre un report di test. Requisiti specifici che gestiscono l'operazione nominale e l'operazione eccezionale (condizioni di errore). Inoltre, questi devono essere applicati a tutti i protocolli supportati dal sottosistema lettore.
È necessario specificare un file di configurazione per i tipi seguenti di lettori di smart card:
- Contactless
- Le macchine
- Richiede la rete
Il file di configurazione deve essere denominato ifdtest_config.xml e deve essere inserito in C:\SmartCardReaderTest. Il frammento di codice seguente mostra un file di configurazione di esempio:
<SmartCardReader>
<Version>1</Version>
<Contactless>False</Contactless>
<Virtual>False</Virtual>
<Network>False</Network>
</SmartCardReader>
IFDTEST2 esegue test case in tre processi di test separati: i test dell'interfaccia di lettura vengono eseguiti senza alcun elemento inserito nel lettore. Resource Manager test case di stato vengono eseguiti come scheda di esempio viene inserita e rimossa dal lettore e si esegue la gestione del rilevamento dell'inserimento della scheda in diverse condizioni (qualsiasi scheda può essere usata per questo test).
I test del protocollo della scheda comportano l'operazione con le smart card predefinite inserite e con schede speciali che presentano un comportamento specifico programmato. I test case che usano schede normalmente disponibili eseguono operazioni di routine sulle schede selezionate per rappresentare una varietà di combinazioni di velocità di comunicazione e protocolli. Questi test sono stati modificati con il set di schede 2.
Test case di stato di Resource Manager
Parte A
I test case di monitoraggio della scheda controllano il rilevamento corretto dello stato di inserimento della smart card e la corretta gestione delle operazioni interrotte dalla rimozione imprevista della scheda.
Testare il rilevamento dei lettori vuoti usando IOCTL_SMARTCARD_IS_PRESENT
Rilevamento test della scheda inserita usando IOCTL_SMARTCARD_IS_PRESENT
Rimozione del test della scheda inserita usando IOCTL_SMARTCARD_IS_ABSENT
Testare la gestione corretta dell'inserimento di schede in tempo casuale e rimuovere azioni per 15 secondi
- Verificare che IOCTL_SMARTCARD_IS_PRESENT e IOCTL_SMARTCARD_IS_ABSENT produrre risultati validi
Parte C
I test case di Resource Manager verificano il completamento corretto delle operazioni di modifica dello stato normalmente previste dal gestore risorse smart card.
Verificare che IOCTL_SMARTCARD_GET_STATE abbia esito positivo senza scheda
Verificare che lo stato restituito sia valido
Verificare la restituzione corretta da IOCTL_SMARTCARD_IS_PRESENT
Verificare la restituzione corretta da IOCTL_SMARTCARD_IS_ABSENT
L'operatore inserisce una scheda
Verificare che IOCTL_SMARTCARD_GET_STATE abbia esito positivo con la scheda inserita
Verificare che lo stato restituito sia valido
Verificare la restituzione corretta da IOCTL_SMARTCARD_IS_ABSENT
Reimpostazione fredda della scheda
Verificare che lo stato della scheda sia SCARD_NEGOTIABLE
Impostare il protocollo scheda su T0 o T1
Verificare l'esito positivo dell'IOCTL_SMARTCARD_POWER per disattivare la scheda
L'operatore rimuove la scheda
Verificare che IOCTL_SMARTCARD_GET_STATE abbia esito positivo senza una scheda
Parte E
I test case di risparmio energia verificano che il driver restituisca le informazioni sullo stato corrette per il lettore tra sequenze di ibernazione, anche quando lo stato del lettore viene modificato durante l'inserimento o la rimozione di una scheda.
L'operatore rimuove tutte le schede
Computer di ibernazione dell'operatore
Operatore avvia computer
Verificare lo stato del lettore SCARD_ABSENT al ritorno dall'ibernazione
Scheda Inserimenti operatore
Computer di ibernazione dell'operatore
Operatore avvia computer
Verificare lo stato del lettore SCARD_PRESENT al ritorno dall'ibernazione
L'operatore rimuove la scheda
Computer di ibernazione dell'operatore
L'operatore rimuove la scheda durante l'ibernazione
Operatore avvia computer
Verificare lo stato del lettore SCARD_ABSENT al ritorno dall'ibernazione
Computer di ibernazione dell'operatore
L'operatore inserisce la scheda durante l'ibernazione
Operatore avvia computer
Verificare lo stato del lettore SCARD_PRESENT al ritorno dall'ibernazione
Test case di interfaccia lettore
Parte B
I test case dell'interfaccia lettore controllano la proprietà di implementazione e le informazioni sullo stato corrette nel driver di lettura.
Controllare gli attributi segnalati dal lettore con una scheda di esempio inserita
Verificare che il nome del dispositivo segnalato dal driver sia conforme a WDM PnP
Testare che il driver gestisce correttamente le richieste di lettura degli attributi con buffer restituito NULL
Testare che il driver arresta correttamente le richieste di i/o in sospeso se il driver viene chiuso e riaperto con un'operazione i/o in sospeso
Testare gli attributi di lettura senza schede inserite
SCARD_ATTR_VENDOR_NAME : stringa di lunghezza non zero
SCARD_ATTR_VENDOR_IFD_TYPE : stringa di lunghezza non zero
SCARD_ATTR_DEVICE_UNIT : un valore di lunghezza di 4 byte o maggiore
SCARD_ATTR_ATR_STRING : tentativo di lettura non riesce
SCARD_ATTR_DEFAULT_CLK : 1000 <= valore <= 20000
SCARD_ATTR_MAX_CLK : 1000 <= valore <= 20000
SCARD_ATTR_DEFAULT_DATA_RATE : tentativi di lettura riusciti
SCARD_ATTR_MAX_DATA_RATE : tentativi di lettura riusciti
SCARD_ATTR_MAX_IFSD : 1 <= valore <= 254
SCARD_ATTR_CURRENT_PROTOCOL_TYPE : tentativo di lettura non riesce
Testare gli attributi di lettura con una scheda inserita
SCARD_ATTR_VENDOR_NAME : stringa di lunghezza non zero
SCARD_ATTR_VENDOR_IFD_TYPE : stringa di lunghezza non zero
SCARD_ATTR_DEVICE_UNIT : un valore di lunghezza di 4 byte o maggiore
SCARD_ATTR_ATR_STRING : tentativi di lettura riusciti
SCARD_ATTR_DEFAULT_CLK : valore 1000 <= valore <= 20000
SCARD_ATTR_MAX_CLK : valore 1000 <= valore <= 20000
SCARD_ATTR_DEFAULT_DATA_RATE : tentativi di lettura riusciti
SCARD_ATTR_MAX_DATA_RATE : tentativi di lettura riusciti
SCARD_ATTR_MAX_IFSD : 1 <= valore <= 254
SCARD_ATTR_CURRENT_PROTOCOL_TYPE : valore = 0
Leggere lo stato della scheda con carta rimossa usando IOCTL_SMARTCARD_GET_STATE : stato <= SCARD_SWALLOWED
Reimposta scheda : verificare che il risultato sia ERROR_UNRECOGNIZED_MEDIA
Test case del protocollo card
Parte D
Infineon Technologies PC/SC Compliance Test Card (scheda 0/Non etichetta)
ATR: 3B EF 00 00 81 31 20 49
00 5C 50 43 54 10 27 F8
D2 76 00 00 38 33 00 4D
Provare a leggere con buffer troppo piccolo
Richiesta di estensione del tempo in attesa - Figura della richiesta di route al file 0001, leggere e verificare
Blocca il test di concatenamento del file 0002: la scheda accetta il primo blocco. Quindi ripetutamente richiede la ritrasmissione del blocco 2; resyncs host - aspettarsi ERROR_IO_DEVICE
Blocca il test di concatenamento risincrona nel file 0002: la scheda dichiara ripetutamente l'errore EDC nel blocco 2; resyncs host - aspettarsi ERROR_IO_DEVICE
Sequenza di blocchi errata da leggere nel file 0003 - aspettarsi ERROR_IO_DEVICE
Id richiesta ifsc 0004
Forzare il timeout per leggere il file 0005 - aspettarsi ERROR_IO_DEVICE
Leggere ed elaborare il file di risultati (A000), analizzare e segnalare errori
Atena T0 Test Card (scheda 1)
ATR: 3B D6 18 00 80 B1 80 6D
1F 03 80 51 00 61 10 30
9E
Reimpostazione con tempo di trasmissione ATR lungo (circa 900 mSec)
Impostare Protocollo su T0, aspettarsi l'esito positivo
Cancellare tutti i file di scheda dal comando proprietario, aspettarsi esito positivo
Creare il file di test 0002, prevedere l'esito positivo
Selezionare il file di test 0002, aspettarsi esito positivo
Scrivere 256 byte come 4 blocchi di 64 byte, prevedere l'esito positivo
Leggere e verificare 256 byte come 4 blocchi di 64 byte, prevedere l'esito positivo
Scrivere 255 byte come singolo blocco, aspettarsi l'esito positivo. La scheda riceverà i byte in modalità a byte singolo fino a quando non rimangono 8 byte, a quel punto il resto dei dati verrà richiesto dall'host come singolo blocco, aspettarsi esito positivo
Impostare il buffer di ricezione su 9 byte e tentare di ricevere una risposta da 10 byte dalla scheda, aspettarsi ERROR_INSUFFICIENT BUFFER
Inviare dati non conformi (Lc incoerenti alla lunghezza dei dati) selezionare il comando 00 a4 00 00 08 00, aspettarsi ERROR_INVALID_PARAMETER
Selezionare file inesistente, aspettarsi 6A 82
Inviare il comando per disattivare la scheda (80 00 01 00 01 11), aspettarsi ERROR_SEM_TIMEOUT
Reimpostare la scheda
Inviare il comando echo alla scheda per testare l'estensione del tempo di attesa della richiesta per i conteggi delle estensioni di 1, 2, 5 e 30 estensioni, previsto esito positivo
Scheda test della convenzione Atena\Inverse (scheda 2)
ATR: 3F 96 18 80 01 80 51 00
61 10 30 9F
Reimpostazione con tempo di trasmissione ATR lungo (circa 900 mSec)
Impostare Protocollo su T0, aspettarsi l'esito positivo
Cancellare tutti i file di scheda dal comando proprietario, aspettarsi esito positivo
Creare il file di test 0002, prevedere l'esito positivo
Selezionare il file di test 0002, aspettarsi esito positivo
Scrivere 256 byte come 4 blocchi di 64 byte, prevedere l'esito positivo
Leggere e verificare 256 byte come 4 blocchi di 64 byte, prevedere l'esito positivo
Scrivere 255 byte come singolo blocco, aspettarsi l'esito positivo. La scheda riceverà i byte in modalità a byte singolo fino a quando non rimangono 128 byte, a quel punto il resto dei dati verrà richiesto dall'host come singolo blocco, aspettarsi esito positivo
Impostare il buffer di ricezione su 9 byte e tentare di ricevere una risposta da 10 byte dalla scheda, aspettarsi ERROR_INSUFFICIENT BUFFER
Inviare dati non conformi (Lc incoerenti alla lunghezza dei dati) selezionare il comando 00 a4 00 00 08 00, aspettarsi ERROR_INVALID_PARAMETER
Selezionare file inesistente, aspettarsi 6A 82
Inviare il comando per disattivare la scheda (80 00 01 00 01 11), aspettarsi ERROR_SEM_TIMEOUT
Reimpostare la scheda
Inviare il comando echo alla scheda per testare l'estensione del tempo di attesa della richiesta per i conteggi delle estensioni di 1, 2, 5 e 30 estensioni, previsto esito positivo
Scheda test Axalto 32K eGate (scheda 3)
ATR: 3B 95 18 40 FF 62 01 02
01 04
Provare il protocollo set T=1, aspettarsi ERROR_NOT_SUPPORTED
Impostare il protocollo T=0
Eseguire l'autenticazione usando la chiave di trasporto della scheda, prevedere l'esito positivo
Pulire lo stato della scheda eliminando i file dalle esecuzioni precedenti (Rimuovere file di chiave pubblica e privata RSA, il file PIN utente e il file di test), attendere l'esito positivo
Creare un nuovo file di test 0055, aspettarsi esito positivo
Testare blocchi di scrittura 1, 25, 75, 128 byte per testare il file, aspettarsi esito positivo
Testare 128 byte dal file di test, confrontare i dati, aspettarsi esito positivo
Eliminare il file di test 0055, attendere l'esito positivo
Creare un file PIN, aspettarsi un esito positivo
Impostare il PIN utente su 00000000, attendere l'esito positivo
Creare un file di chiave privata, attendere l'esito positivo
Creare un file di chiave pubblica, aspettarsi un esito positivo
Selezionare il file di chiave privata, attendere l'esito positivo
Autenticare l'utente che ha il PIN, aspettarsi il successo
Generare una coppia di chiavi, aspettarsi un esito positivo
Dati hash di 16 byte, previsto esito positivo
Ottenere i dati di risposta all'operazione hash, 20 byte + 2 byte di risposta, prevedere l'esito positivo
Infineon SiCrypt Card Test Card Test Card (Scheda 4)
ATR: 3B DF 18 00 81 31 FE 67
00 5C 49 43 4D D4 91 47
D2 76 00 00 38 33 00 58
Tentare di impostare il protocollo T=0, aspettarsi ERROR_NOT_SUPPORTED
Impostare il protocollo T=1, attendere l'esito positivo
Eseguire l'autenticazione con 12345678 PIN, attendere il successo
Rimuovere i file dalle esecuzioni precedenti, se esistenti
Creare un nuovo file di test 0007, attendere l'esito positivo
Selezionare il file 0007, attendere il successo
Registrare l'ora di sistema
Scrivere blocchi di test di 1, 25, 50, 75, 100, 125, 128 byte nella scheda: leggere e verificare i dati dopo ogni scrittura di blocchi, attendere l'esito positivo
Ottenere il tempo di sistema e visualizzare il tempo trascorso in secondi per il completamento del test
Selezionare il file 0007, attendere il successo
Scrivere un blocco di byte di 128 byte di valore di byte 55, leggere indietro e verificare, attendere l'esito positivo
Scrivere un blocco di byte a 128 byte di valore AA, leggere e verificare, aspettarsi l'esito positivo
Scrivere un blocco di byte di 128 byte di valore 00, leggere indietro e verificare, attendere l'esito positivo
Scrivere un blocco di byte a 128 byte di valore FF, leggere indietro e verificare, aspettarsi l'esito positivo
Selezionare il file inesistente 7777, previsto 9404
Selezionare MF per 00 a4 00 00, aspetta 90 00 (esito positivo)
Selezionare il file non valido 77, previsto 94 04
Inviare un formato non valido (Lc incoerente con la lunghezza dei dati) selezionare il comando 00 a4 00 08 00, previsto 94 04
Invia un comando di selezione in formato non valido (troppo breve) di 00 a4 00, previsto 67 00
Creare DF 5555 da MF, aspettarsi il successo
Selezionare in 5555, aspettarsi il successo
Creare DF 5656 da 5555, attendere il successo
Selezionare in 5656, aspettarsi il successo
Creare file 5757 in DF 5656, attendere il successo
Selezionare il file da MF per percorso completo, attendere l'esito positivo
Scrivere 8 byte nel file, leggere e verificare, attendere l'esito positivo
Eliminare il file selezionato, attendere l'esito positivo
Tentare di selezionare il file per percorso completo, prevedere 94 04
Selezionare ed eliminare DF 5656, attendere il successo
Selezionare ed eliminare DF 5555, attendere il successo
Selezionare ed eliminare il file 0007, attendere l'esito positivo
Esecuzione del test del lettore di schede
Avviso
Per i test case di risparmio energia nella parte D, il computer verrà ibernato e potrebbe essere necessario rimuovere o reinserire una smart card nel lettore di smart card di test.
Parti A, B, C ed E
Seguire le istruzioni visualizzate sullo schermo per parti A, B, C e E usando le schede del gruppo di lavoro PC/SC set di schede di test 2. Quando viene richiesto, inserire e quindi rimuovere ogni smart card dal lettore di smart card di test.
Parte D
Seguire le istruzioni visualizzate per la parte D per completare i quattro test case di risparmio energia. Quando viene richiesto, inserire o rimuovere la smart card dal lettore di smart card di test e ibernare o riavviare il computer di test.
Per eseguire il test test out/card out/card out case:
Rimuovere la smart card dal lettore di smart card di test.
Il computer verrà automaticamente ibernato dopo 15 secondi.
Consentire al computer di ibernare da 30 a 60 secondi.
Premere il pulsante di alimentazione del computer per uscire dall'ibernazione del computer e continuare il test.
Quando viene richiesto, reinserire la smart card nel lettore di smart card di test.
Per eseguire il Test 2 Card In/Card Out test case:To run the Test 2 Card In/Card Out test case:
Verificare che la smart card si trova nel lettore di smart card di test.
Il computer verrà automaticamente ibernato dopo 15 secondi.
Consentire al computer di ibernare da 30 a 60 secondi.
Rimuovere la smart card dal lettore di smart card di test.
Premere il pulsante di alimentazione del computer per uscire dal computer di ibernazione.
Quando richiesto, reinserire la smart card nel lettore di smart card di test prima di avviare il test case successivo.
Per eseguire la scheda Test 3 In/Card Nel test case:
Verificare che la smart card si trova nel lettore di smart card di test.
Il computer verrà automaticamente ibernato dopo 15 secondi.
Consentire al computer di ibernare da 30 a 60 secondi.
Premere il pulsante di alimentazione del computer per uscire dal computer di ibernazione.
Quando viene richiesto, rimuovere la smart card dal lettore di smart card di test prima di avviare il test case successivo.
Per eseguire la scheda test 4 out/card nel test case:
Verificare che non sia presente alcuna smart card nel lettore di smart card di test.
Il computer verrà automaticamente ibernato dopo 15 secondi.
Consentire al computer di ibernare da 30 a 60 secondi.
Reinserire la smart card nel lettore di smart card di test.
Premere il pulsante di alimentazione del computer per uscire dal computer di ibernazione. Il test del lettore di smart card viene completato.
Visualizzare i file di log di test.
Eseguire tutti gli altri test necessari.
Dopo aver completato tutti i test necessari per l'invio di test, restituire i risultati del test.
Sintassi dei comandi
Per eseguire questo comando all'esterno di HLK Studio, è necessario arrestare il servizio Smart Card, eseguire il comando e quindi avviare il servizio Smart Card.
Comando | Descrizione |
---|---|
ifdtest2.exe -sa -sb -sc -se -sf |
Esegue il test. |
Elenco file
File | Posizione |
---|---|
ifdtest2.exe |
<testbinroot>\nttest\Driverstest\storage\wdk\ |
Parametri
Nome parametro | Descrizione dei parametri |
---|---|
LLU_NetAccessOnly | Account utente per l'accesso alla condivisione file di test. |
LLU_LclAdminUsr | Account utente per l'esecuzione del test. |