Condividi tramite


Metodo ISCardISO7816::ExternalAuthenticate

[Il metodo ExternalAuthenticate è 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 ExternalAuthenticate costruisce un comando APDU ( Application Protocol Data Unit ) che aggiorna in modo condizionale lo stato di sicurezza, verificando l'identità del computer quando la smart card non lo considera attendibile.

Il comando usa il risultato (sì o no) del calcolo dalla scheda (in base a una richiesta precedentemente rilasciata dalla scheda, ad esempio dal comando INS_GET_CHALLENGE), una chiave (possibilmente segreta) archiviata nella scheda e i dati di autenticazione trasmessi dal dispositivo dell'interfaccia.

Sintassi

HRESULT ExternalAuthenticate(
  [in]      BYTE         byAlgorithmRef,
  [in]      BYTE         bySecretRef,
  [in]      LPBYTEBUFFER pChallenge,
  [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. Questo parametro può essere NULL.

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 riuscita.
E_INVALIDARG
Parametro non valido passato.
E_POINTER
Un puntatore non valido è stato passato.
E_OUTOFMEMORY
Memoria insufficiente.

 

Commenti

Per il successo del comando incapsulato, l'ultima sfida ottenuta dalla scheda deve essere valida.

I confronti non riusciti possono essere registrati nella scheda , ad esempio per limitare il numero di tentativi di utilizzo dei dati di riferimento.

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

InternalAuthenticate

ISCardISO7816