MÉTODO ISCardISO7816::InternalAuthenticate
[El método InternalAuthenticate está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. No está disponible para su uso en Windows Server 2003 con Service Pack 1 (SP1) y versiones posteriores, Windows Vista, Windows Server 2008 y versiones posteriores del sistema operativo. Los módulos de tarjeta inteligente proporcionan una funcionalidad similar.]
El método InternalAuthenticate crea un comando de unidad de datos de protocolo de aplicación (APDU) que inicia el cálculo de los datos de autenticación mediante la tarjeta mediante los datos de desafío enviados desde el dispositivo de interfaz y un secreto relevante (por ejemplo, una clave) almacenado en la tarjeta.
Cuando el secreto pertinente se adjunta al MF, el comando se puede usar para autenticar la tarjeta en su conjunto.
Cuando el secreto pertinente se adjunta a otro DF, el comando se puede usar para autenticar ese DF.
Sintaxis
HRESULT InternalAuthenticate(
[in] BYTE byAlgorithmRef,
[in] BYTE bySecretRef,
[in] LPBYTEBUFFER pChallenge,
[in] LONG lReplyBytes,
[in, out] LPSCARDCMD *ppCmd
);
Parámetros
-
byAlgorithmRef [in]
-
Referencia del algoritmo en la tarjeta.
Si este valor es cero, esto indica que no se proporciona información. La referencia del algoritmo se conoce antes de emitir el comando o se proporciona en el campo de datos.
-
bySecretRef [in]
-
Referencia del secreto.
Value Significado - Sin información
Posición de bits: 00000000
No se proporciona información. La referencia del secreto se conoce antes de emitir el comando o se proporciona en el campo de datos.- Referencia global
Posición de bits: 0-------
Datos de referencia globales (una clave específica de MF).- Referencia específica
Posición de bits: 1-------
Datos de referencia específicos (una clave específica df).- RFU
Posición de bits: -xx-----
00 (otros valores son RFU).- Secreto
Posición de bits: ---xxxxx
Número del secreto. -
pChallenge [in]
-
Puntero a los datos relacionados con la autenticación (por ejemplo, desafío).
-
lReplyBytes [in]
-
Número máximo de bytes esperados en respuesta.
-
ppCmd [in, out]
-
En la entrada, un puntero a un objeto de interfaz ISCardCmd o NULL.
A cambio, se rellena con el comando APDU construido por esta operación. Si ppCmd se estableció en NULL, se crea internamente un objeto ISCardCmd de tarjeta inteligente y se devuelve mediante el puntero ppCmd.
Valor devuelto
El método devuelve uno de los siguientes valores posibles.
Código devuelto | Descripción |
---|---|
|
Operación completada correctamente. |
|
Parámetro no válido. |
|
Se pasó un puntero incorrecto. |
|
Memoria insuficiente |
Comentarios
La ejecución correcta del comando puede estar sujeta a la finalización correcta de comandos anteriores (por ejemplo, VERIFY o SELECT FILE) o selecciones (por ejemplo, el secreto pertinente).
Si actualmente se selecciona una clave y un algoritmo al emitir el comando, el comando puede usar implícitamente la clave y el algoritmo.
El número de veces que se emite el comando se puede registrar en la tarjeta para limitar el número de intentos adicionales de usar el secreto pertinente o el algoritmo.
Para obtener una lista de todos los métodos proporcionados por esta interfaz, vea ISCardISO7816.
Además de los códigos de error COM enumerados anteriormente, esta interfaz puede devolver un código de error de tarjeta inteligente si se llamó a una función de tarjeta inteligente para completar la solicitud. Para obtener más información, consulte Valores devueltos de tarjeta inteligente.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows Server 2003 [solo aplicaciones de escritorio] |
Fin de compatibilidad de cliente |
Windows XP |
Fin de compatibilidad de servidor |
Windows Server 2003 |
Encabezado |
|
Biblioteca de tipos |
|
Archivo DLL |
|
IID |
IID_ISCardISO7816 se define como 53B6AA68-3F56-11D0-916B-00AA00C18068 |
Consulte también