Inline SlotId constants
This commit is contained in:
@@ -137,72 +137,21 @@ pub const YKPIV_CCCID_SIZE: usize = 14;
|
||||
pub const YKPIV_CERTINFO_UNCOMPRESSED: u8 = 0;
|
||||
pub const YKPIV_CERTINFO_GZIP: u8 = 1;
|
||||
|
||||
pub const YKPIV_KEY_AUTHENTICATION: u8 = 0x9a;
|
||||
pub const YKPIV_KEY_CARDMGM: u8 = 0x9b;
|
||||
pub const YKPIV_KEY_SIGNATURE: u8 = 0x9c;
|
||||
pub const YKPIV_KEY_KEYMGM: u8 = 0x9d;
|
||||
pub const YKPIV_KEY_CARDAUTH: u8 = 0x9e;
|
||||
pub const YKPIV_KEY_RETIRED1: u8 = 0x82;
|
||||
pub const YKPIV_KEY_RETIRED2: u8 = 0x83;
|
||||
pub const YKPIV_KEY_RETIRED3: u8 = 0x84;
|
||||
pub const YKPIV_KEY_RETIRED4: u8 = 0x85;
|
||||
pub const YKPIV_KEY_RETIRED5: u8 = 0x86;
|
||||
pub const YKPIV_KEY_RETIRED6: u8 = 0x87;
|
||||
pub const YKPIV_KEY_RETIRED7: u8 = 0x88;
|
||||
pub const YKPIV_KEY_RETIRED8: u8 = 0x89;
|
||||
pub const YKPIV_KEY_RETIRED9: u8 = 0x8a;
|
||||
pub const YKPIV_KEY_RETIRED10: u8 = 0x8b;
|
||||
pub const YKPIV_KEY_RETIRED11: u8 = 0x8c;
|
||||
pub const YKPIV_KEY_RETIRED12: u8 = 0x8d;
|
||||
pub const YKPIV_KEY_RETIRED13: u8 = 0x8e;
|
||||
pub const YKPIV_KEY_RETIRED14: u8 = 0x8f;
|
||||
pub const YKPIV_KEY_RETIRED15: u8 = 0x90;
|
||||
pub const YKPIV_KEY_RETIRED16: u8 = 0x91;
|
||||
pub const YKPIV_KEY_RETIRED17: u8 = 0x92;
|
||||
pub const YKPIV_KEY_RETIRED18: u8 = 0x93;
|
||||
pub const YKPIV_KEY_RETIRED19: u8 = 0x94;
|
||||
pub const YKPIV_KEY_RETIRED20: u8 = 0x95;
|
||||
pub const YKPIV_KEY_ATTESTATION: u8 = 0xf9;
|
||||
|
||||
pub const YKPIV_OBJ_CAPABILITY: u32 = 0x005f_c107;
|
||||
pub const YKPIV_OBJ_CHUID: u32 = 0x005f_c102;
|
||||
pub const YKPIV_OBJ_AUTHENTICATION: u32 = 0x005f_c105; // cert for 9a key
|
||||
pub const YKPIV_OBJ_FINGERPRINTS: u32 = 0x005f_c103;
|
||||
pub const YKPIV_OBJ_SECURITY: u32 = 0x005f_c106;
|
||||
pub const YKPIV_OBJ_FACIAL: u32 = 0x005f_c108;
|
||||
pub const YKPIV_OBJ_PRINTED: u32 = 0x005f_c109;
|
||||
pub const YKPIV_OBJ_SIGNATURE: u32 = 0x005f_c10a; // cert for 9c key
|
||||
pub const YKPIV_OBJ_KEY_MANAGEMENT: u32 = 0x005f_c10b; // cert for 9d key
|
||||
pub const YKPIV_OBJ_CARD_AUTH: u32 = 0x005f_c101; // cert for 9e key
|
||||
pub const YKPIV_OBJ_DISCOVERY: u32 = 0x7e;
|
||||
pub const YKPIV_OBJ_KEY_HISTORY: u32 = 0x005f_c10c;
|
||||
pub const YKPIV_OBJ_IRIS: u32 = 0x005f_c121;
|
||||
|
||||
pub const YKPIV_OBJ_RETIRED1: u32 = 0x005f_c10d;
|
||||
pub const YKPIV_OBJ_RETIRED2: u32 = 0x005f_c10e;
|
||||
pub const YKPIV_OBJ_RETIRED3: u32 = 0x005f_c10f;
|
||||
pub const YKPIV_OBJ_RETIRED4: u32 = 0x005f_c110;
|
||||
pub const YKPIV_OBJ_RETIRED5: u32 = 0x005f_c111;
|
||||
pub const YKPIV_OBJ_RETIRED6: u32 = 0x005f_c112;
|
||||
pub const YKPIV_OBJ_RETIRED7: u32 = 0x005f_c113;
|
||||
pub const YKPIV_OBJ_RETIRED8: u32 = 0x005f_c114;
|
||||
pub const YKPIV_OBJ_RETIRED9: u32 = 0x005f_c115;
|
||||
pub const YKPIV_OBJ_RETIRED10: u32 = 0x005f_c116;
|
||||
pub const YKPIV_OBJ_RETIRED11: u32 = 0x005f_c117;
|
||||
pub const YKPIV_OBJ_RETIRED12: u32 = 0x005f_c118;
|
||||
pub const YKPIV_OBJ_RETIRED13: u32 = 0x005f_c119;
|
||||
pub const YKPIV_OBJ_RETIRED14: u32 = 0x005f_c11a;
|
||||
pub const YKPIV_OBJ_RETIRED15: u32 = 0x005f_c11b;
|
||||
pub const YKPIV_OBJ_RETIRED16: u32 = 0x005f_c11c;
|
||||
pub const YKPIV_OBJ_RETIRED17: u32 = 0x005f_c11d;
|
||||
pub const YKPIV_OBJ_RETIRED18: u32 = 0x005f_c11e;
|
||||
pub const YKPIV_OBJ_RETIRED19: u32 = 0x005f_c11f;
|
||||
pub const YKPIV_OBJ_RETIRED20: u32 = 0x005f_c120;
|
||||
|
||||
// Internal object IDs
|
||||
|
||||
pub const YKPIV_OBJ_ADMIN_DATA: u32 = 0x005f_ff00;
|
||||
pub const YKPIV_OBJ_ATTESTATION: u32 = 0x005f_ff01;
|
||||
pub const YKPIV_OBJ_MSCMAP: u32 = 0x005f_ff10;
|
||||
pub const YKPIV_OBJ_MSROOTS1: u32 = 0x005f_ff11;
|
||||
pub const YKPIV_OBJ_MSROOTS2: u32 = 0x005f_ff12;
|
||||
|
||||
+75
-75
@@ -97,11 +97,11 @@ impl TryFrom<u8> for SlotId {
|
||||
|
||||
fn try_from(value: u8) -> Result<Self, Self::Error> {
|
||||
match value {
|
||||
YKPIV_KEY_AUTHENTICATION => Ok(SlotId::Authentication),
|
||||
YKPIV_KEY_SIGNATURE => Ok(SlotId::Signature),
|
||||
YKPIV_KEY_KEYMGM => Ok(SlotId::KeyManagement),
|
||||
YKPIV_KEY_CARDAUTH => Ok(SlotId::CardAuthentication),
|
||||
YKPIV_KEY_ATTESTATION => Ok(SlotId::Attestation),
|
||||
0x9a => Ok(SlotId::Authentication),
|
||||
0x9c => Ok(SlotId::Signature),
|
||||
0x9d => Ok(SlotId::KeyManagement),
|
||||
0x9e => Ok(SlotId::CardAuthentication),
|
||||
0xf9 => Ok(SlotId::Attestation),
|
||||
_ => RetiredSlotId::try_from(value).map(SlotId::Retired),
|
||||
}
|
||||
}
|
||||
@@ -110,12 +110,12 @@ impl TryFrom<u8> for SlotId {
|
||||
impl From<SlotId> for u8 {
|
||||
fn from(slot: SlotId) -> u8 {
|
||||
match slot {
|
||||
SlotId::Authentication => YKPIV_KEY_AUTHENTICATION,
|
||||
SlotId::Signature => YKPIV_KEY_SIGNATURE,
|
||||
SlotId::KeyManagement => YKPIV_KEY_KEYMGM,
|
||||
SlotId::CardAuthentication => YKPIV_KEY_CARDAUTH,
|
||||
SlotId::Authentication => 0x9a,
|
||||
SlotId::Signature => 0x9c,
|
||||
SlotId::KeyManagement => 0x9d,
|
||||
SlotId::CardAuthentication => 0x9e,
|
||||
SlotId::Retired(retired) => retired.into(),
|
||||
SlotId::Attestation => YKPIV_KEY_ATTESTATION,
|
||||
SlotId::Attestation => 0xf9,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -124,12 +124,12 @@ impl SlotId {
|
||||
/// Returns the [`ObjectId`] that corresponds to a given [`SlotId`].
|
||||
pub(crate) fn object_id(self) -> ObjectId {
|
||||
match self {
|
||||
SlotId::Authentication => YKPIV_OBJ_AUTHENTICATION,
|
||||
SlotId::Signature => YKPIV_OBJ_SIGNATURE,
|
||||
SlotId::KeyManagement => YKPIV_OBJ_KEY_MANAGEMENT,
|
||||
SlotId::CardAuthentication => YKPIV_OBJ_CARD_AUTH,
|
||||
SlotId::Authentication => 0x005f_c105,
|
||||
SlotId::Signature => 0x005f_c10a,
|
||||
SlotId::KeyManagement => 0x005f_c10b,
|
||||
SlotId::CardAuthentication => 0x005f_c101,
|
||||
SlotId::Retired(retired) => retired.object_id(),
|
||||
SlotId::Attestation => YKPIV_OBJ_ATTESTATION,
|
||||
SlotId::Attestation => 0x005f_ff01,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -165,26 +165,26 @@ impl TryFrom<u8> for RetiredSlotId {
|
||||
|
||||
fn try_from(value: u8) -> Result<Self, Self::Error> {
|
||||
match value {
|
||||
YKPIV_KEY_RETIRED1 => Ok(RetiredSlotId::R1),
|
||||
YKPIV_KEY_RETIRED2 => Ok(RetiredSlotId::R2),
|
||||
YKPIV_KEY_RETIRED3 => Ok(RetiredSlotId::R3),
|
||||
YKPIV_KEY_RETIRED4 => Ok(RetiredSlotId::R4),
|
||||
YKPIV_KEY_RETIRED5 => Ok(RetiredSlotId::R5),
|
||||
YKPIV_KEY_RETIRED6 => Ok(RetiredSlotId::R6),
|
||||
YKPIV_KEY_RETIRED7 => Ok(RetiredSlotId::R7),
|
||||
YKPIV_KEY_RETIRED8 => Ok(RetiredSlotId::R8),
|
||||
YKPIV_KEY_RETIRED9 => Ok(RetiredSlotId::R9),
|
||||
YKPIV_KEY_RETIRED10 => Ok(RetiredSlotId::R10),
|
||||
YKPIV_KEY_RETIRED11 => Ok(RetiredSlotId::R11),
|
||||
YKPIV_KEY_RETIRED12 => Ok(RetiredSlotId::R12),
|
||||
YKPIV_KEY_RETIRED13 => Ok(RetiredSlotId::R13),
|
||||
YKPIV_KEY_RETIRED14 => Ok(RetiredSlotId::R14),
|
||||
YKPIV_KEY_RETIRED15 => Ok(RetiredSlotId::R15),
|
||||
YKPIV_KEY_RETIRED16 => Ok(RetiredSlotId::R16),
|
||||
YKPIV_KEY_RETIRED17 => Ok(RetiredSlotId::R17),
|
||||
YKPIV_KEY_RETIRED18 => Ok(RetiredSlotId::R18),
|
||||
YKPIV_KEY_RETIRED19 => Ok(RetiredSlotId::R19),
|
||||
YKPIV_KEY_RETIRED20 => Ok(RetiredSlotId::R20),
|
||||
0x82 => Ok(RetiredSlotId::R1),
|
||||
0x83 => Ok(RetiredSlotId::R2),
|
||||
0x84 => Ok(RetiredSlotId::R3),
|
||||
0x85 => Ok(RetiredSlotId::R4),
|
||||
0x86 => Ok(RetiredSlotId::R5),
|
||||
0x87 => Ok(RetiredSlotId::R6),
|
||||
0x88 => Ok(RetiredSlotId::R7),
|
||||
0x89 => Ok(RetiredSlotId::R8),
|
||||
0x8a => Ok(RetiredSlotId::R9),
|
||||
0x8b => Ok(RetiredSlotId::R10),
|
||||
0x8c => Ok(RetiredSlotId::R11),
|
||||
0x8d => Ok(RetiredSlotId::R12),
|
||||
0x8e => Ok(RetiredSlotId::R13),
|
||||
0x8f => Ok(RetiredSlotId::R14),
|
||||
0x90 => Ok(RetiredSlotId::R15),
|
||||
0x91 => Ok(RetiredSlotId::R16),
|
||||
0x92 => Ok(RetiredSlotId::R17),
|
||||
0x93 => Ok(RetiredSlotId::R18),
|
||||
0x94 => Ok(RetiredSlotId::R19),
|
||||
0x95 => Ok(RetiredSlotId::R20),
|
||||
_ => Err(Error::InvalidObject),
|
||||
}
|
||||
}
|
||||
@@ -193,26 +193,26 @@ impl TryFrom<u8> for RetiredSlotId {
|
||||
impl From<RetiredSlotId> for u8 {
|
||||
fn from(slot: RetiredSlotId) -> u8 {
|
||||
match slot {
|
||||
RetiredSlotId::R1 => YKPIV_KEY_RETIRED1,
|
||||
RetiredSlotId::R2 => YKPIV_KEY_RETIRED2,
|
||||
RetiredSlotId::R3 => YKPIV_KEY_RETIRED3,
|
||||
RetiredSlotId::R4 => YKPIV_KEY_RETIRED4,
|
||||
RetiredSlotId::R5 => YKPIV_KEY_RETIRED5,
|
||||
RetiredSlotId::R6 => YKPIV_KEY_RETIRED6,
|
||||
RetiredSlotId::R7 => YKPIV_KEY_RETIRED7,
|
||||
RetiredSlotId::R8 => YKPIV_KEY_RETIRED8,
|
||||
RetiredSlotId::R9 => YKPIV_KEY_RETIRED9,
|
||||
RetiredSlotId::R10 => YKPIV_KEY_RETIRED10,
|
||||
RetiredSlotId::R11 => YKPIV_KEY_RETIRED11,
|
||||
RetiredSlotId::R12 => YKPIV_KEY_RETIRED12,
|
||||
RetiredSlotId::R13 => YKPIV_KEY_RETIRED13,
|
||||
RetiredSlotId::R14 => YKPIV_KEY_RETIRED14,
|
||||
RetiredSlotId::R15 => YKPIV_KEY_RETIRED15,
|
||||
RetiredSlotId::R16 => YKPIV_KEY_RETIRED16,
|
||||
RetiredSlotId::R17 => YKPIV_KEY_RETIRED17,
|
||||
RetiredSlotId::R18 => YKPIV_KEY_RETIRED18,
|
||||
RetiredSlotId::R19 => YKPIV_KEY_RETIRED19,
|
||||
RetiredSlotId::R20 => YKPIV_KEY_RETIRED20,
|
||||
RetiredSlotId::R1 => 0x82,
|
||||
RetiredSlotId::R2 => 0x83,
|
||||
RetiredSlotId::R3 => 0x84,
|
||||
RetiredSlotId::R4 => 0x85,
|
||||
RetiredSlotId::R5 => 0x86,
|
||||
RetiredSlotId::R6 => 0x87,
|
||||
RetiredSlotId::R7 => 0x88,
|
||||
RetiredSlotId::R8 => 0x89,
|
||||
RetiredSlotId::R9 => 0x8a,
|
||||
RetiredSlotId::R10 => 0x8b,
|
||||
RetiredSlotId::R11 => 0x8c,
|
||||
RetiredSlotId::R12 => 0x8d,
|
||||
RetiredSlotId::R13 => 0x8e,
|
||||
RetiredSlotId::R14 => 0x8f,
|
||||
RetiredSlotId::R15 => 0x90,
|
||||
RetiredSlotId::R16 => 0x91,
|
||||
RetiredSlotId::R17 => 0x92,
|
||||
RetiredSlotId::R18 => 0x93,
|
||||
RetiredSlotId::R19 => 0x94,
|
||||
RetiredSlotId::R20 => 0x95,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -221,26 +221,26 @@ impl RetiredSlotId {
|
||||
/// Returns the [`ObjectId`] that corresponds to a given [`RetiredSlotId`].
|
||||
pub(crate) fn object_id(self) -> ObjectId {
|
||||
match self {
|
||||
RetiredSlotId::R1 => YKPIV_OBJ_RETIRED1,
|
||||
RetiredSlotId::R2 => YKPIV_OBJ_RETIRED2,
|
||||
RetiredSlotId::R3 => YKPIV_OBJ_RETIRED3,
|
||||
RetiredSlotId::R4 => YKPIV_OBJ_RETIRED4,
|
||||
RetiredSlotId::R5 => YKPIV_OBJ_RETIRED5,
|
||||
RetiredSlotId::R6 => YKPIV_OBJ_RETIRED6,
|
||||
RetiredSlotId::R7 => YKPIV_OBJ_RETIRED7,
|
||||
RetiredSlotId::R8 => YKPIV_OBJ_RETIRED8,
|
||||
RetiredSlotId::R9 => YKPIV_OBJ_RETIRED9,
|
||||
RetiredSlotId::R10 => YKPIV_OBJ_RETIRED10,
|
||||
RetiredSlotId::R11 => YKPIV_OBJ_RETIRED11,
|
||||
RetiredSlotId::R12 => YKPIV_OBJ_RETIRED12,
|
||||
RetiredSlotId::R13 => YKPIV_OBJ_RETIRED13,
|
||||
RetiredSlotId::R14 => YKPIV_OBJ_RETIRED14,
|
||||
RetiredSlotId::R15 => YKPIV_OBJ_RETIRED15,
|
||||
RetiredSlotId::R16 => YKPIV_OBJ_RETIRED16,
|
||||
RetiredSlotId::R17 => YKPIV_OBJ_RETIRED17,
|
||||
RetiredSlotId::R18 => YKPIV_OBJ_RETIRED18,
|
||||
RetiredSlotId::R19 => YKPIV_OBJ_RETIRED19,
|
||||
RetiredSlotId::R20 => YKPIV_OBJ_RETIRED20,
|
||||
RetiredSlotId::R1 => 0x005f_c10d,
|
||||
RetiredSlotId::R2 => 0x005f_c10e,
|
||||
RetiredSlotId::R3 => 0x005f_c10f,
|
||||
RetiredSlotId::R4 => 0x005f_c110,
|
||||
RetiredSlotId::R5 => 0x005f_c111,
|
||||
RetiredSlotId::R6 => 0x005f_c112,
|
||||
RetiredSlotId::R7 => 0x005f_c113,
|
||||
RetiredSlotId::R8 => 0x005f_c114,
|
||||
RetiredSlotId::R9 => 0x005f_c115,
|
||||
RetiredSlotId::R10 => 0x005f_c116,
|
||||
RetiredSlotId::R11 => 0x005f_c117,
|
||||
RetiredSlotId::R12 => 0x005f_c118,
|
||||
RetiredSlotId::R13 => 0x005f_c119,
|
||||
RetiredSlotId::R14 => 0x005f_c11a,
|
||||
RetiredSlotId::R15 => 0x005f_c11b,
|
||||
RetiredSlotId::R16 => 0x005f_c11c,
|
||||
RetiredSlotId::R17 => 0x005f_c11d,
|
||||
RetiredSlotId::R18 => 0x005f_c11e,
|
||||
RetiredSlotId::R19 => 0x005f_c11f,
|
||||
RetiredSlotId::R20 => 0x005f_c120,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user