Partager via


ISCardISO7816::ExternalAuthenticate, méthode

[La méthode ExternalAuthenticate est disponible pour une utilisation dans les systèmes d’exploitation spécifiés dans la section Exigences. Il n’est pas disponible pour une utilisation dans Windows Server 2003 avec Service Pack 1 (SP1) et versions ultérieures, Windows Vista, Windows Server 2008 et les versions ultérieures du système d’exploitation. Les modules de carte à puce offrent des fonctionnalités similaires.]

La méthode ExternalAuthenticate construit une commande APDU (Application Protocol Data Unit) qui met à jour de manière conditionnelle les status de sécurité, en vérifiant l’identité de l’ordinateur lorsque le carte intelligent ne lui fait pas confiance.

La commande utilise le résultat (oui ou non) du calcul par le carte (en fonction d’un défi émis précédemment par le carte, par exemple, par la commande INS_GET_CHALLENGE), d’une clé (éventuellement secrète) stockée dans le carte et des données d’authentification transmises par l’appareil d’interface.

Syntaxe

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

Paramètres

byAlgorithmRef [in]

Référence de l’algorithme dans le carte.

Si cette valeur est égale à zéro, cela indique qu’aucune information n’est donnée. La référence de l’algorithme est connue avant l’émission de la commande ou est fournie dans le champ de données.

bySecretRef [in]

Référence du secret.

Valeur Signification
Aucune information
Position du bit : 000000000
Aucune information n’est donnée. La référence du secret est connue avant l’émission de la commande ou est fournie dans le champ de données.
Référence globale
Position du bit : 0-------
Données de référence globales (une clé spécifique à MF).
Référence spécifique
Position du bit : 1-------
Données de référence spécifiques (une clé spécifique À DF).
RFU
Position du bit : -xx-----
00 (les autres valeurs sont RFU).
Secret
Position du bit : ---xxxxx
Numéro du secret.

 

pChallenge [in]

Pointeur vers les données liées à l’authentification. Ce paramètre peut avoir la valeur NULL.

ppCmd [in, out]

En entrée, pointeur vers un objet d’interface ISCardCmd ou NULL.

Au retour, il est rempli avec la commande APDU construite par cette opération. Si ppCmd a été défini sur NULL, un objet smart carteISCardCmd est créé et retourné en interne à l’aide du pointeur ppCmd.

Valeur retournée

La méthode retourne l’une des valeurs possibles suivantes.

Code de retour Description
S_OK
L’opération s’est terminée avec succès.
E_INVALIDARG
Un paramètre non valide a été passé.
E_POINTER
Un pointeur incorrect a été passé.
E_OUTOFMEMORY
Mémoire insuffisante.

 

Notes

Pour que la commande encapsulée réussisse, le dernier défi obtenu à partir du carte doit être valide.

Des comparaisons infructueuses peuvent être enregistrées dans le carte (par exemple, pour limiter le nombre de nouvelles tentatives d’utilisation des données de référence).

Pour obtenir la liste de toutes les méthodes fournies par cette interface, consultez ISCardISO7816.

En plus des codes d’erreur COM répertoriés ci-dessus, cette interface peut renvoyer un code d’erreur smart carte si une fonction de carte intelligente a été appelée pour terminer la demande. Pour plus d’informations, consultez Valeurs de retour de carte à puce.

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2003 [applications de bureau uniquement]
Fin de la prise en charge des clients
Windows XP
Fin de la prise en charge des serveurs
Windows Server 2003
En-tête
Scardssp.h
Bibliothèque de types
Scardsrv.tlb
DLL
Scardssp.dll
IID
IID_ISCardISO7816 est défini comme 53B6AA68-3F56-11D0-916B-00AA00C18068

Voir aussi

InternalAuthenticate

ISCardISO7816