Freigeben über


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 den Karte unter Verwendung der vom Schnittstellengerät gesendeten Challenge-Daten und eines relevanten Geheimnisses (z. B. eines Schlüssels) initiiert, der im Karte gespeichert ist.

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

Wenn das relevante Geheimnis an eine andere DF angefügt ist, kann der Befehl verwendet werden, um diese 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]

Referenz des Algorithmus im Karte.

Wenn dieser Wert 0 ist, gibt dies an, dass keine Informationen angegeben werden. Der Verweis auf den Algorithmus ist entweder vor der Ausgabe des Befehls bekannt oder wird im Datenfeld bereitgestellt.

bySecretRef [in]

Referenz des Geheimnisses.

Wert Bedeutung
Keine Informationen
Bitposition: 000000000
Es werden keine Informationen gemacht. Der Verweis auf das Geheimnis ist entweder vor dem Ausgeben des Befehls bekannt oder wird im Datenfeld bereitgestellt.
Globale Ref
Bitposition: 0-------
Globale Referenzdaten (ein MF-spezifischer Schlüssel).
Spezifischer Ref
Bitposition: 1-------
Bestimmte Referenzdaten (ein DF-spezifischer Schlüssel).
RFU
Bitposition: -xx-----
00 (andere Werte sind RFU).
Geheimnis
Bitposition: ---xxxxx
Nummer des Geheimnisses.

 

pChallenge [in]

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

lReplyBytes [in]

Maximale Anzahl von Bytes, die in der Antwort erwartet werden.

ppCmd [in, out]

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

Bei der Rückgabe wird es mit dem APDU-Befehl gefüllt, der von diesem Vorgang erstellt wurde. Wenn ppCmd auf NULL festgelegt wurde, wird ein Smart KarteISCardCmd-Objekt intern 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
Operation erfolgreich abgeschlossen.
E_INVALIDARG
Ungültiger Parameter.
E_POINTER
Ein fehlerhafter Zeiger wurde übergeben.
E_OUTOFMEMORY
Nicht genügend Arbeitsspeicher.

 

Bemerkungen

Die erfolgreiche Ausführung des Befehls kann vom erfolgreichen Abschluss früherer Befehle (z. B. VERIFY oder SELECT FILE) oder der Auswahl (z. B. des relevanten Geheimnisses) abhängig sein.

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

Die Häufigkeit, wie der Befehl ausgegeben wird, kann in der Karte aufgezeichnet werden, um die Anzahl weiterer Versuche zur Verwendung des relevanten Geheimnisses oder des Algorithmus zu begrenzen.

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 Intelligenten Karte Fehlercode zurück, wenn eine Smart 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

Weitere Informationen

ExternalAuthenticate

ISCardISO7816