I tag sono coppie nome-valore nell'API KeyMint (in precedenza Keymaster) che possono fungere da parametri per un'operazione eseguita sull'API, caratteristiche legate in modo permanente a una determinata chiave o entrambe.
Ogni tag è costituito da un valore enum e da un tipo associato che indica se sono consentiti più valori. Ad esempio, il tag con nome
BLOCK_MODE
ha il valore enumerato 4
e un tipo, ENUM_REP
, che indica che il
valore associato è un enum ripetibile.
I tag si trovano nelle seguenti posizioni:
- KeyMint: tutti i tag sono definiti in
Tag.aidl
nel ramo di release di Android pertinente. - Keymaster: i tag sono definiti in
platform/hardware/interfaces/keymaster/keymaster-version/types.hal
per ogni rispettivokeymaster-version
, ad esempio3.0/types.hal
per Keymaster 3 e4.0/types.hal
per Keymaster 4. Per Keymaster 2 e versioni precedenti, i tag sono definiti inplatform/hardware/libhardware/include/hardware/keymaster_defs.h
.