ISCardISO7816::InternalAuthenticate-Methode

[Die InternalAuthenticate-Methode ist für die Verwendung in den Betriebssystemen verfügbar, die im Abschnitt Anforderungen angegeben sind. 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 InternalAuthenticate-Methode erstellt einen APDU-Befehl (Application Protocol Data Unit), der die Berechnung der Authentifizierungsdaten durch die Karte mithilfe der vom Schnittstellengerät gesendeten Abfragedaten und eines relevanten Geheimnisses (z. B. eines Schlüssels) initiiert, der auf der Karte gespeichert ist.

Wenn das relevante Geheimnis an den MF angefügt ist, kann der Befehl verwendet werden, um die Karte als Ganzes zu authentifizieren.

Wenn das relevante Geheimnis an einen anderen DF angefügt ist, kann der Befehl verwendet werden, um diesen DF zu authentifizieren.

Syntax

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

Parameter

byAlgorithmRef [ In]

Verweis auf den Algorithmus auf der Karte.

Wenn dieser Wert 0 (null) ist, bedeutet dies, dass keine Informationen angegeben werden. Der Verweis auf den Algorithmus ist entweder vor dem Ausgeben des Befehls bekannt oder wird im Datenfeld bereitgestellt.

bySecretRef [ In]

Verweis auf das Geheimnis.

Wert Bedeutung
Keine Informationen
Bitposition: 00000000
Es werden keine Informationen angegeben. Der Verweis auf das Geheimnis ist entweder vor dem Ausführen des Befehls bekannt oder wird im Datenfeld bereitgestellt.
Globaler Verweis
Bitposition: 0-------
Globale Verweisdaten (ein MF-spezifischer Schlüssel).
Spezifische Referenz
Bitposition: 1-------
Spezifische Verweisdaten (ein DF-spezifischer Schlüssel).
RFU
Bitposition: -xx-----
00 (andere Werte sind RFU).
Secret
Bitposition: ---xxxxx
Die Nummer des Geheimnisses.

pChallenge [ In]

Zeiger auf die authentifizierungsbezogenen Daten (z. B. Abfrage).

lReplyBytes [ In]

Maximale Anzahl von Bytes, die als Antwort erwartet werden.

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 ISCardCmd-Smartcardobjekt erstellt und mit dem ppCmd-Zeiger zurückgegeben.

Rückgabewert

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

Rückgabecode Beschreibung
S _ OK
Operation erfolgreich abgeschlossen.
E _ INVALIDARG
Ungültiger Parameter.
E _ POINTER
Ein ungültiger Zeiger wurde übergeben.
E _ OUTOFMEMORY
Nicht genügend Arbeitsspeicher.

Bemerkungen

Die erfolgreiche Ausführung des Befehls kann davon abhängig sein, dass vorherige Befehle (z. B. VERIFY oder SELECT FILE) oder Auswahlmöglichkeiten (z. B. das relevante Geheimnis) erfolgreich abgeschlossen wurden.

Wenn beim Ausgeben des Befehls derzeit ein Schlüssel und ein Algorithmus ausgewählt sind, kann der Befehl implizit den Schlüssel und den Algorithmus verwenden.

Wie oft der Befehl ausgegeben wird, kann auf der Karte aufgezeichnet werden, um die Anzahl weiterer Versuche, das entsprechende Geheimnis oder den Algorithmus zu verwenden, einzuschränken.

Eine Liste aller von dieser Schnittstelle bereitgestellten Methoden finden Sie unter ISCardISO7816.

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

Requirements (Anforderungen)

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows [Nur XP-Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Nur Server [ 2003-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 als 53B6AA68-3F56-11D0-916B-00AA00C18068 definiert.

Weitere Informationen

ExternalAuthenticate

ISCardISO7816