pub struct RegistryEntry<'a> {
pub aid: &'a [u8],
pub life_cycle: u8,
pub privileges: [u8; 3],
pub associated_sd_aid: Option<&'a [u8]>,
pub elf_aid: Option<&'a [u8]>,
pub modules: Vec<&'a [u8], MAX_MODULES_PER_ELF>,
}Expand description
One decoded GlobalPlatform Registry 'E3' entry — the scope-agnostic
shape the get_card_inventory workflow (§5.12a) maps into the typed
crate::model entries (Security Domain / Application / ELF).
Borrows the parsed response ('a): the AIDs are zero-copy slices into the
GET STATUS page. The workflow validates each into an owning
crate::aid::Aid within the page’s lifetime. life_cycle is the raw
'9F70' byte (decode is the model’s concern); privileges is the 'C5'
value padded/truncated to the model’s fixed 3 bytes (a 1-byte legacy 'C5'
becomes [b, 0, 0] — the Security Domain bit stays in byte 0).
Fields§
§aid: &'a [u8]'4F' — the entry’s AID (empty slice if the card omits it, which the
workflow then skips as malformed).
life_cycle: u8'9F70' — raw life-cycle byte (0 if absent; see [decode_life_cycle]).
privileges: [u8; 3]'C5' — privileges, padded/truncated to 3 bytes (all-zero if absent, as
for an ELF entry).
associated_sd_aid: Option<&'a [u8]>'CC' — associated Security Domain AID, when present.
elf_aid: Option<&'a [u8]>'C4' — the Application’s Executable Load File AID, when present.
modules: Vec<&'a [u8], MAX_MODULES_PER_ELF>'84' — Executable Module AIDs inside an ELF (P1 0x10 scope),
truncated at MAX_MODULES_PER_ELF.
Trait Implementations§
Source§impl<'a> Clone for RegistryEntry<'a>
impl<'a> Clone for RegistryEntry<'a>
Source§fn clone(&self) -> RegistryEntry<'a>
fn clone(&self) -> RegistryEntry<'a>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more