Application Protocol Data Unit (electrónica)
# Application Protocol Data Unit (electrónica)

El APDU (en inglés: Application Protocol Data Unit) es la unidad de comunicación entre un lector de tarjetas inteligentes y una tarjeta inteligente. La estructura de un APDU está definida en el estándar ISO/IEC 7816-4.

## Par comando-respuesta de un mensaje APDU

Comando APDU :

| Campo | Longitud (en bytes) | Descripción |
| - | - | - |
| CLA | 1 | Clase de la instrucción |
| INS | 1 | Código de la instrucción |
| P1-P2 | 2 | Parámetros de la instrucción |
| $L_c$ | 0, 1 o 3 | Indica la longitud en bytes $(N_c)$ de los datos a continuación |
| Datos del comando | $N_c$ | Una cadena de $N_c$ bytes |
| $L_e$ | 0, 1, 2 o 3 | Indica la longitud máxima en bytes $(N_e)$ de la respuesta esperada |
| APDU de Respuesta |||
| Datos de respuesta | $N_r$ (máximo $N_e)$ | Una cadena de $N_r$ bytes |
| SW1-SW2 | 2 | Estatus del comando procesado, por ejemplo: 90 00 (en hexadecimal) significa éxito |

Hay dos tipos de APDUs: comandos y respuestas. Los comandos APDU los envía el lector a la tarjeta y contienen una cabecera obligatoria de 4 bytes y desde 0 hasta 255 bytes de datos. Las respuestas APDU las envía la tarjeta al lector y contienen una palabra de estado obligatoria de 2 bytes y desde 0 hasta 256 bytes de datos.

