Partager via


ISCardISO7816::InternalAuthenticate, méthode

[La méthode InternalAuthenticate peut être utilisée dans les systèmes d’exploitation spécifiés dans la section Configuration requise. 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 InternalAuthenticate construit une commande APDU (Application Protocol Data Unit) qui lance le calcul des données d’authentification par le carte à l’aide des données de défi envoyées à partir de l’appareil d’interface et d’un secret pertinent (par exemple, une clé) stocké dans le carte.

Lorsque le secret approprié est attaché au mf, la commande peut être utilisée pour authentifier l’carte dans son ensemble.

Lorsque le secret approprié est attaché à une autre DF, la commande peut être utilisée pour authentifier cette DF.

Syntaxe

HRESULT InternalAuthenticate(
  [in]      BYTE         byAlgorithmRef,
  [in]      BYTE         bySecretRef,
  [in]      LPBYTEBUFFER pChallenge,
  [in]      LONG         lReplyBytes,
  [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 : 00000000
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 (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 (par exemple, challenge).

lReplyBytes [in]

Nombre maximal d’octets attendus en réponse.

ppCmd [in, out]

Lors de l’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 la valeur 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
Opération exécutée avec succès.
E_INVALIDARG
Paramètre non valide.
E_POINTER
Un pointeur incorrect a été passé.
E_OUTOFMEMORY
Mémoire insuffisante.

 

Notes

L’exécution réussie de la commande peut être soumise à l’exécution réussie des commandes précédentes (par exemple, VERIFY ou SELECT FILE) ou des sélections (par exemple, le secret approprié).

Si une clé et un algorithme sont actuellement sélectionnés lors de l’émission de la commande, la commande peut utiliser implicitement la clé et l’algorithme.

Le nombre de fois où la commande est émise peut être enregistré dans le carte pour limiter le nombre de tentatives supplémentaires d’utilisation du secret ou de l’algorithme appropriés.

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 retourner un code d’erreur de carte intelligent 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

ExternalAuthenticate

ISCardISO7816