Condividi tramite


Metodo ISCardISO7816::InternalAuthenticate

[Il metodo InternalAuthenticate è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. Non è disponibile per l'uso in Windows Server 2003 con Service Pack 1 (SP1) e versioni successive, Windows Vista, Windows Server 2008 e versioni successive del sistema operativo. I moduli smart card offrono funzionalità simili.

Il metodo InternalAuthenticate costruisce un comando APDU ( Application Protocol Data Unit ) che avvia il calcolo dei dati di autenticazione dalla scheda usando i dati di sfida inviati dal dispositivo di interfaccia e un segreto pertinente (ad esempio, una chiave) archiviata nella scheda.

Quando il segreto pertinente è collegato a MF, il comando può essere usato per autenticare la scheda nel suo complesso.

Quando il segreto pertinente è collegato a un'altra DF, il comando può essere usato per autenticare tale DF.

Sintassi

HRESULT InternalAuthenticate(
  [in]      BYTE         byAlgorithmRef,
  [in]      BYTE         bySecretRef,
  [in]      LPBYTEBUFFER pChallenge,
  [in]      LONG         lReplyBytes,
  [in, out] LPSCARDCMD   *ppCmd
);

Parametri

byAlgorithmRef [in]

Riferimento dell'algoritmo nella scheda.

Se questo valore è zero, questo indica che non vengono fornite informazioni. Il riferimento dell'algoritmo è noto prima di eseguire il comando o viene fornito nel campo dati.

bySecretRef [in]

Riferimento al segreto.

Valore Significato
Nessuna informazione
Posizione bit: 00000000
Non viene fornita alcuna informazione. Il riferimento del segreto è noto prima di eseguire il comando o viene fornito nel campo dati.
Riferimento globale
Posizione bit: 0-------
Dati di riferimento globali (chiave specifica MF).
Riferimento specifico
Posizione bit: 1-------
Dati di riferimento specifici (una chiave specifica di DF).
RFU
Posizione bit: -xx-----
00 (altri valori sono RFU).
Segreto
Posizione bit: ---xxxxx
Numero del segreto.

 

pChallenge [in]

Puntatore ai dati correlati all'autenticazione( ad esempio, sfida).

lReplyBytes [in]

Numero massimo di byte previsti in risposta.

ppCmd [in, out]

In input, un puntatore a un oggetto interfaccia ISCardCmd o NULL.

Al ritorno, viene riempito con il comando APDU costruito da questa operazione. Se ppCmd è stato impostato su NULL, viene creato e restituito internamente un oggetto ISCardCmd usando il puntatore ppCmd.

Valore restituito

Il metodo restituisce uno dei valori possibili seguenti.

Codice restituito Descrizione
S_OK
Operazione completata correttamente.
E_INVALIDARG
Parametro non valido.
E_POINTER
Un puntatore non valido è stato passato.
E_OUTOFMEMORY
Memoria insufficiente.

 

Commenti

L'esecuzione riuscita del comando può essere soggetta al completamento corretto dei comandi precedenti (ad esempio, VERIFY o SELECT FILE) o selezioni (ad esempio, il segreto pertinente).

Se una chiave e un algoritmo sono attualmente selezionati durante l'emissione del comando, il comando può usare in modo implicito la chiave e l'algoritmo.

Il numero di volte in cui viene eseguito il comando può essere registrato nella scheda per limitare il numero di tentativi di utilizzo del segreto o dell'algoritmo pertinenti.

Per un elenco di tutti i metodi forniti da questa interfaccia, vedere ISCardISO7816.

Oltre ai codici di errore COM elencati in precedenza, questa interfaccia può restituire un codice di errore della smart card se è stata chiamata una funzione smart card per completare la richiesta. Per altre informazioni, vedere Valori restituiti smart card.

Requisiti

Requisito Valore
Client minimo supportato
Windows XP [solo app desktop]
Server minimo supportato
Windows Server 2003 [solo app desktop]
Fine del supporto client
Windows XP
Fine del supporto server
Windows Server 2003
Intestazione
Scardssp.h
Libreria dei tipi
Scardsrv.tlb
DLL
Scardssp.dll
IID
IID_ISCardISO7816 è definito come 53B6A68-3F56-11D0-916B-00AA0C18068

Vedi anche

ExternalAuthenticate

ISCardISO7816