Freigeben über


ISCardISO7816::ExternalAuthenticate-Methode

[Die ExternalAuthenticate-Methode ist für die Verwendung in den im Abschnitt Anforderungen angegebenen Betriebssystemen verfügbar. Es ist nicht für die Verwendung in Windows Server 2003 mit Service Pack 1 (SP1) und höher, Windows Vista, Windows Server 2008 und nachfolgenden Versionen des Betriebssystems verfügbar. Die Smartcardmodule bieten ähnliche Funktionen.]

Die ExternalAuthenticate-Methode erstellt einen APDU-Befehl (Application Protocol Data Unit), der die Sicherheits-status bedingt aktualisiert und die Identität des Computers überprüft, wenn der intelligente Karte ihn nicht vertraut.

Der Befehl verwendet das Ergebnis (ja oder nein) der Berechnung durch den Karte (basierend auf einer Zuvor vom Karte ausgegebenen Abfrage, z. B. vom Befehl INS_GET_CHALLENGE), einem schlüssel (möglicherweise geheimen Schlüssel), der im Karte gespeichert ist, und Authentifizierungsdaten, die vom Schnittstellengerät übertragen werden.

Syntax

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

Parameter

byAlgorithmRef [in]

Die Referenz des Algorithmus im Karte.

Wenn dieser Wert null ist, gibt dies an, dass keine Informationen angegeben werden. Der Verweis des Algorithmus ist entweder vor dem Ausgeben des Befehls bekannt oder wird im Datenfeld bereitgestellt.

bySecretRef [in]

Der Verweis auf das Geheimnis.

Wert Bedeutung
Keine Informationen
Bitposition: 00000000
Es werden keine Informationen angegeben. Der Verweis auf das Geheimnis ist entweder bekannt, bevor der Befehl ausgegeben wird, oder wird im Datenfeld bereitgestellt.
Globaler Verweis
Bitposition: 0-------
Globale Verweisdaten (ein MF-spezifischer Schlüssel).
Spezifischer Verweis
Bitposition: 1-------
Spezifische Verweisdaten (df-spezifischer Schlüssel).
RFU
Bitposition: -xx-----
00 (andere Werte sind RFU).
Geheimnis
Bitposition: ---xxxxx
Nummer des Geheimnisses.

 

pChallenge [in]

Ein Zeiger auf die authentifizierungsbezogenen Daten. Dieser Parameter kann NULL sein.

ppCmd [in, out]

Bei der Eingabe ein Zeiger auf ein ISCardCmd-Schnittstellenobjekt oder NULL.

Bei der Rückgabe wird er mit dem APDU-Befehl gefüllt, der von diesem Vorgang erstellt wurde. Wenn ppCmd auf NULL festgelegt wurde, wird intern ein intelligentes KarteISCardCmd-Objekt erstellt und mithilfe des ppCmd-Zeigers zurückgegeben.

Rückgabewert

Die -Methode gibt einen der folgenden möglichen Werte zurück.

Rückgabecode BESCHREIBUNG
S_OK
Der Vorgang wurde erfolgreich abgeschlossen.
E_INVALIDARG
Ein ungültiger Parameter wurde übergeben.
E_POINTER
Ein ungültiger Zeiger wurde übergeben.
E_OUTOFMEMORY
Nicht genügend Arbeitsspeicher.

 

Bemerkungen

Damit der gekapselte Befehl erfolgreich ist, muss die letzte Von der Karte abgerufene Herausforderung gültig sein.

Nicht erfolgreiche Vergleiche können im Karte aufgezeichnet werden (z. B. um die Anzahl weiterer Versuche der Verwendung der Referenzdaten zu begrenzen).

Eine Liste aller Methoden, die von dieser Schnittstelle bereitgestellt werden, finden Sie unter ISCardISO7816.

Zusätzlich zu den oben aufgeführten COM-Fehlercodes gibt diese Schnittstelle möglicherweise einen Fehlercode für intelligente Karte zurück, wenn eine intelligente Karte-Funktion aufgerufen wurde, um die Anforderung abzuschließen. Weitere Informationen finden Sie unter Smartcard-Rückgabewerte.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2003 [nur Desktop-Apps]
Ende des Supports (Client)
Windows XP
Ende des Supports (Server)
Windows Server 2003
Header
Scardssp.h
Typbibliothek
Scardsrv.tlb
DLL
Scardssp.dll
IID
IID_ISCardISO7816 ist definiert als 53B6AA68-3F56-11D0-916B-00AA00C18068

Siehe auch

InternalAuthenticate

ISCardISO7816