summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cac-aca.c240
1 files changed, 120 insertions, 120 deletions
diff --git a/src/cac-aca.c b/src/cac-aca.c
index 43d81a5..ecf582d 100644
--- a/src/cac-aca.c
+++ b/src/cac-aca.c
@@ -133,9 +133,9 @@ struct acr_table {
*/
static const struct acr_table acr_table = {
11, {
- {0x00, ACR_ALWAYS, 0x00, 0},
- {0x01, ACR_NEVER, 0x00, 0},
- {0x02, ACR_ALWAYS, 0x1F, 0},
+ {0x00, ACR_ALWAYS, 0x00, 0, {}},
+ {0x01, ACR_NEVER, 0x00, 0, {}},
+ {0x02, ACR_ALWAYS, 0x1F, 0, {}},
{0x06, ACR_PIN, 0x00, 1, {
{0x1E, 0x00}
}},
@@ -156,8 +156,8 @@ static const struct acr_table acr_table = {
{0x0B, ACR_XAUTH, 0x00, 1, {
{0x1D, 0x0}
}},
- {0x10, ACR_ALWAYS, 0x1E, 0},
- {0x11, ACR_ALWAYS, 0x1D, 0},
+ {0x10, ACR_ALWAYS, 0x1E, 0, {}},
+ {0x11, ACR_ALWAYS, 0x1D, 0, {}},
}
};
@@ -449,254 +449,254 @@ static const struct acr_applets applets_table = {
/* Dynamic PKI applets */
{0x61, 2, {
{"\x01\x00", 3, {
- {CAC_UPDATE_BUFFER, 0x04, ACR_INS_CONFIG_NONE},
- {CAC_READ_BUFFER, 0x00, ACR_INS_CONFIG_NONE},
- {CAC_SIGN_DECRYPT, 0x06, ACR_INS_CONFIG_NONE}
+ {CAC_UPDATE_BUFFER, 0x04, .config = ACR_INS_CONFIG_NONE},
+ {CAC_READ_BUFFER, 0x00, .config = ACR_INS_CONFIG_NONE},
+ {CAC_SIGN_DECRYPT, 0x06, .config = ACR_INS_CONFIG_NONE}
}},
{"\xFF\xFF", 1, {
- {VCARD7816_INS_VERIFY, 0x10, ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_VERIFY, 0x10, .config = ACR_INS_CONFIG_NONE},
}}
}},
{0x62, 2, {
{"\x01\x01", 3, {
- {CAC_UPDATE_BUFFER, 0x04, ACR_INS_CONFIG_NONE},
- {CAC_READ_BUFFER, 0x00, ACR_INS_CONFIG_NONE},
- {CAC_SIGN_DECRYPT, 0x06, ACR_INS_CONFIG_NONE}
+ {CAC_UPDATE_BUFFER, 0x04, .config = ACR_INS_CONFIG_NONE},
+ {CAC_READ_BUFFER, 0x00, .config = ACR_INS_CONFIG_NONE},
+ {CAC_SIGN_DECRYPT, 0x06, .config = ACR_INS_CONFIG_NONE}
}},
{"\xFF\xFF", 1, {
- {VCARD7816_INS_VERIFY, 0x10, ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_VERIFY, 0x10, .config = ACR_INS_CONFIG_NONE},
}}
}},
{0x63, 2, {
{"\x01\x02", 3, {
- {CAC_UPDATE_BUFFER, 0x04, ACR_INS_CONFIG_NONE},
- {CAC_READ_BUFFER, 0x00, ACR_INS_CONFIG_NONE},
- {CAC_SIGN_DECRYPT, 0x06, ACR_INS_CONFIG_NONE}
+ {CAC_UPDATE_BUFFER, 0x04, .config = ACR_INS_CONFIG_NONE},
+ {CAC_READ_BUFFER, 0x00, .config = ACR_INS_CONFIG_NONE},
+ {CAC_SIGN_DECRYPT, 0x06, .config = ACR_INS_CONFIG_NONE}
}},
{"\xFF\xFF", 1, {
- {VCARD7816_INS_VERIFY, 0x10, ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_VERIFY, 0x10, .config = ACR_INS_CONFIG_NONE},
}}
}},
{0x64, 2, {
{"\x01\x03", 3, {
- {CAC_UPDATE_BUFFER, 0x04, ACR_INS_CONFIG_NONE},
- {CAC_READ_BUFFER, 0x00, ACR_INS_CONFIG_NONE},
- {CAC_SIGN_DECRYPT, 0x06, ACR_INS_CONFIG_NONE}
+ {CAC_UPDATE_BUFFER, 0x04, .config = ACR_INS_CONFIG_NONE},
+ {CAC_READ_BUFFER, 0x00, .config = ACR_INS_CONFIG_NONE},
+ {CAC_SIGN_DECRYPT, 0x06, .config = ACR_INS_CONFIG_NONE}
}},
{"\xFF\xFF", 1, {
- {VCARD7816_INS_VERIFY, 0x10, ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_VERIFY, 0x10, .config = ACR_INS_CONFIG_NONE},
}}
}},
{0x65, 2, {
{"\x01\x04", 3, {
- {CAC_UPDATE_BUFFER, 0x04, ACR_INS_CONFIG_NONE},
- {CAC_READ_BUFFER, 0x00, ACR_INS_CONFIG_NONE},
- {CAC_SIGN_DECRYPT, 0x06, ACR_INS_CONFIG_NONE}
+ {CAC_UPDATE_BUFFER, 0x04, .config = ACR_INS_CONFIG_NONE},
+ {CAC_READ_BUFFER, 0x00, .config = ACR_INS_CONFIG_NONE},
+ {CAC_SIGN_DECRYPT, 0x06, .config = ACR_INS_CONFIG_NONE}
}},
{"\xFF\xFF", 1, {
- {VCARD7816_INS_VERIFY, 0x10, ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_VERIFY, 0x10, .config = ACR_INS_CONFIG_NONE},
}}
}},
{0x66, 2, {
{"\x01\x05", 3, {
- {CAC_UPDATE_BUFFER, 0x04, ACR_INS_CONFIG_NONE},
- {CAC_READ_BUFFER, 0x00, ACR_INS_CONFIG_NONE},
- {CAC_SIGN_DECRYPT, 0x06, ACR_INS_CONFIG_NONE}
+ {CAC_UPDATE_BUFFER, 0x04, .config = ACR_INS_CONFIG_NONE},
+ {CAC_READ_BUFFER, 0x00, .config = ACR_INS_CONFIG_NONE},
+ {CAC_SIGN_DECRYPT, 0x06, .config = ACR_INS_CONFIG_NONE}
}},
{"\xFF\xFF", 1, {
- {VCARD7816_INS_VERIFY, 0x10, ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_VERIFY, 0x10, .config = ACR_INS_CONFIG_NONE},
}}
}},
{0x67, 2, {
{"\x01\x06", 3, {
- {CAC_UPDATE_BUFFER, 0x04, ACR_INS_CONFIG_NONE},
- {CAC_READ_BUFFER, 0x00, ACR_INS_CONFIG_NONE},
- {CAC_SIGN_DECRYPT, 0x06, ACR_INS_CONFIG_NONE}
+ {CAC_UPDATE_BUFFER, 0x04, .config = ACR_INS_CONFIG_NONE},
+ {CAC_READ_BUFFER, 0x00, .config = ACR_INS_CONFIG_NONE},
+ {CAC_SIGN_DECRYPT, 0x06, .config = ACR_INS_CONFIG_NONE}
}},
{"\xFF\xFF", 1, {
- {VCARD7816_INS_VERIFY, 0x10, ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_VERIFY, 0x10, .config = ACR_INS_CONFIG_NONE},
}}
}},
{0x68, 2, {
{"\x01\x07", 3, {
- {CAC_UPDATE_BUFFER, 0x04, ACR_INS_CONFIG_NONE},
- {CAC_READ_BUFFER, 0x00, ACR_INS_CONFIG_NONE},
- {CAC_SIGN_DECRYPT, 0x06, ACR_INS_CONFIG_NONE}
+ {CAC_UPDATE_BUFFER, 0x04, .config = ACR_INS_CONFIG_NONE},
+ {CAC_READ_BUFFER, 0x00, .config = ACR_INS_CONFIG_NONE},
+ {CAC_SIGN_DECRYPT, 0x06, .config = ACR_INS_CONFIG_NONE}
}},
{"\xFF\xFF", 1, {
- {VCARD7816_INS_VERIFY, 0x10, ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_VERIFY, 0x10, .config = ACR_INS_CONFIG_NONE},
}}
}},
{0x69, 2, {
{"\x01\x08", 3, {
- {CAC_UPDATE_BUFFER, 0x04, ACR_INS_CONFIG_NONE},
- {CAC_READ_BUFFER, 0x00, ACR_INS_CONFIG_NONE},
- {CAC_SIGN_DECRYPT, 0x06, ACR_INS_CONFIG_NONE}
+ {CAC_UPDATE_BUFFER, 0x04, .config = ACR_INS_CONFIG_NONE},
+ {CAC_READ_BUFFER, 0x00, .config = ACR_INS_CONFIG_NONE},
+ {CAC_SIGN_DECRYPT, 0x06, .config = ACR_INS_CONFIG_NONE}
}},
{"\xFF\xFF", 1, {
- {VCARD7816_INS_VERIFY, 0x10, ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_VERIFY, 0x10, .config = ACR_INS_CONFIG_NONE},
}}
}},
{0x6a, 2, {
{"\x01\x09", 3, {
- {CAC_UPDATE_BUFFER, 0x04, ACR_INS_CONFIG_NONE},
- {CAC_READ_BUFFER, 0x00, ACR_INS_CONFIG_NONE},
- {CAC_SIGN_DECRYPT, 0x06, ACR_INS_CONFIG_NONE}
+ {CAC_UPDATE_BUFFER, 0x04, .config = ACR_INS_CONFIG_NONE},
+ {CAC_READ_BUFFER, 0x00, .config = ACR_INS_CONFIG_NONE},
+ {CAC_SIGN_DECRYPT, 0x06, .config = ACR_INS_CONFIG_NONE}
}},
{"\xFF\xFF", 1, {
- {VCARD7816_INS_VERIFY, 0x10, ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_VERIFY, 0x10, .config = ACR_INS_CONFIG_NONE},
}}
}},
/* Static applets */
{0x1F, 1, {
{"\xFF\xFF", 1, {
- {VCARD7816_INS_VERIFY, 0x00, ACR_INS_CONFIG_NONE}
+ {VCARD7816_INS_VERIFY, 0x00, .config = ACR_INS_CONFIG_NONE}
}}
}},
{0xF4, 2, {
{"\xDB\x00", 2, {
- {CAC_UPDATE_BUFFER, 0x04, ACR_INS_CONFIG_NONE},
- {CAC_READ_BUFFER, 0x00, ACR_INS_CONFIG_NONE}
+ {CAC_UPDATE_BUFFER, 0x04, .config = ACR_INS_CONFIG_NONE},
+ {CAC_READ_BUFFER, 0x00, .config = ACR_INS_CONFIG_NONE}
}},
{"\xFF\xFF", 3, {
- {VCARD7816_INS_EXTERNAL_AUTHENTICATE, 0x11, ACR_INS_CONFIG_P1, .p1=0x00},
- {VCARD7816_INS_GET_CHALLENGE, 0x11, ACR_INS_CONFIG_NONE},
- {VCARD7816_INS_VERIFY, 0x10, ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_EXTERNAL_AUTHENTICATE, 0x11, .config = ACR_INS_CONFIG_P1, .p1 = 0x00},
+ {VCARD7816_INS_GET_CHALLENGE, 0x11, .config = ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_VERIFY, 0x10, .config = ACR_INS_CONFIG_NONE},
}}
}},
{0x4B, 2, {
{"\x02\xFB", 2, {
- {CAC_UPDATE_BUFFER, 0x06, ACR_INS_CONFIG_NONE},
- {CAC_READ_BUFFER, 0x00, ACR_INS_CONFIG_NONE}
+ {CAC_UPDATE_BUFFER, 0x06, .config = ACR_INS_CONFIG_NONE},
+ {CAC_READ_BUFFER, 0x00, .config = ACR_INS_CONFIG_NONE}
}},
{"\xFF\xFF", 3, {
- {VCARD7816_INS_EXTERNAL_AUTHENTICATE, 0x11, ACR_INS_CONFIG_P1, .p1=0x00},
- {VCARD7816_INS_GET_CHALLENGE, 0x11, ACR_INS_CONFIG_NONE},
- {VCARD7816_INS_VERIFY, 0x10, ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_EXTERNAL_AUTHENTICATE, 0x11, .config = ACR_INS_CONFIG_P1, .p1 = 0x00},
+ {VCARD7816_INS_GET_CHALLENGE, 0x11, .config = ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_VERIFY, 0x10, .config = ACR_INS_CONFIG_NONE},
}}
}},
{0x41, 2, {
{"\x02\x00", 3, {
- {CAC_UPDATE_BUFFER, 0x09, ACR_INS_CONFIG_NONE},
- {CAC_READ_BUFFER, 0x00, ACR_INS_CONFIG_DATA1, .data1=0x01},
- {CAC_READ_BUFFER, 0x08, ACR_INS_CONFIG_NONE}
+ {CAC_UPDATE_BUFFER, 0x09, .config = ACR_INS_CONFIG_NONE},
+ {CAC_READ_BUFFER, 0x00, .config = ACR_INS_CONFIG_DATA1, .data1 = 0x01},
+ {CAC_READ_BUFFER, 0x08, .config = ACR_INS_CONFIG_NONE}
}},
{"\xFF\xFF", 3, {
- {VCARD7816_INS_EXTERNAL_AUTHENTICATE, 0x11, ACR_INS_CONFIG_P1, .p1=0x00},
- {VCARD7816_INS_GET_CHALLENGE, 0x11, ACR_INS_CONFIG_NONE},
- {VCARD7816_INS_VERIFY, 0x10, ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_EXTERNAL_AUTHENTICATE, 0x11, .config = ACR_INS_CONFIG_P1, .p1 = 0x00},
+ {VCARD7816_INS_GET_CHALLENGE, 0x11, .config = ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_VERIFY, 0x10, .config = ACR_INS_CONFIG_NONE},
}}
}},
{0x42, 2, {
{"\x02\x01", 3, {
- {CAC_UPDATE_BUFFER, 0x0B, ACR_INS_CONFIG_NONE},
- {CAC_READ_BUFFER, 0x00, ACR_INS_CONFIG_DATA1, .data1=0x01},
- {CAC_READ_BUFFER, 0x0A, ACR_INS_CONFIG_NONE}
+ {CAC_UPDATE_BUFFER, 0x0B, .config = ACR_INS_CONFIG_NONE},
+ {CAC_READ_BUFFER, 0x00, .config = ACR_INS_CONFIG_DATA1, .data1=0x01},
+ {CAC_READ_BUFFER, 0x0A, .config = ACR_INS_CONFIG_NONE}
}},
{"\xFF\xFF", 3, {
- {VCARD7816_INS_EXTERNAL_AUTHENTICATE, 0x11, ACR_INS_CONFIG_P1, .p1=0x00},
- {VCARD7816_INS_GET_CHALLENGE, 0x11, ACR_INS_CONFIG_NONE},
- {VCARD7816_INS_VERIFY, 0x10, ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_EXTERNAL_AUTHENTICATE, 0x11, .config = ACR_INS_CONFIG_P1, .p1 = 0x00},
+ {VCARD7816_INS_GET_CHALLENGE, 0x11, .config = ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_VERIFY, 0x10, .config = ACR_INS_CONFIG_NONE},
}}
}},
{0x40, 5, {
{"\x30\x00", 3, {
- {CAC_UPDATE_BUFFER, 0x04, ACR_INS_CONFIG_NONE},
- {CAC_READ_BUFFER, 0x00, ACR_INS_CONFIG_NONE},
- {VCARD7816_INS_READ_BINARY, 0x00, ACR_INS_CONFIG_NONE}
+ {CAC_UPDATE_BUFFER, 0x04, .config = ACR_INS_CONFIG_NONE},
+ {CAC_READ_BUFFER, 0x00, .config = ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_READ_BINARY, 0x00, .config = ACR_INS_CONFIG_NONE}
}},
{"\x60\x10", 3, {
- {CAC_UPDATE_BUFFER, 0x04, ACR_INS_CONFIG_NONE},
- {CAC_READ_BUFFER, 0x00, ACR_INS_CONFIG_DATA1, .data1=0x01},
- {CAC_READ_BUFFER, 0x06, ACR_INS_CONFIG_NONE}
+ {CAC_UPDATE_BUFFER, 0x04, .config = ACR_INS_CONFIG_NONE},
+ {CAC_READ_BUFFER, 0x00, .config = ACR_INS_CONFIG_DATA1, .data1 = 0x01},
+ {CAC_READ_BUFFER, 0x06, .config = ACR_INS_CONFIG_NONE}
}},
{"\x60\x30", 3, {
- {CAC_UPDATE_BUFFER, 0x04, ACR_INS_CONFIG_NONE},
- {CAC_READ_BUFFER, 0x00, ACR_INS_CONFIG_DATA1, .data1=0x01},
- {CAC_READ_BUFFER, 0x06, ACR_INS_CONFIG_NONE}
+ {CAC_UPDATE_BUFFER, 0x04, .config = ACR_INS_CONFIG_NONE},
+ {CAC_READ_BUFFER, 0x00, .config = ACR_INS_CONFIG_DATA1, .data1 = 0x01},
+ {CAC_READ_BUFFER, 0x06, .config = ACR_INS_CONFIG_NONE}
}},
{"\x90\x00", 2, {
- {CAC_UPDATE_BUFFER, 0x04, ACR_INS_CONFIG_NONE},
- {CAC_READ_BUFFER, 0x00, ACR_INS_CONFIG_NONE}
+ {CAC_UPDATE_BUFFER, 0x04, .config = ACR_INS_CONFIG_NONE},
+ {CAC_READ_BUFFER, 0x00, .config = ACR_INS_CONFIG_NONE}
}},
{"\xFF\xFF", 3, {
- {VCARD7816_INS_EXTERNAL_AUTHENTICATE, 0x11, ACR_INS_CONFIG_P1, .p1=0x00},
- {VCARD7816_INS_GET_CHALLENGE, 0x11, ACR_INS_CONFIG_NONE},
- {VCARD7816_INS_VERIFY, 0x10, ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_EXTERNAL_AUTHENTICATE, 0x11, .config = ACR_INS_CONFIG_P1, .p1 = 0x00},
+ {VCARD7816_INS_GET_CHALLENGE, 0x11, .config = ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_VERIFY, 0x10, .config = ACR_INS_CONFIG_NONE},
}}
}},
{0x4e, 2, {
{"\x02\xFE", 2, {
- {CAC_UPDATE_BUFFER, 0x04, ACR_INS_CONFIG_NONE},
- {CAC_READ_BUFFER, 0x00, ACR_INS_CONFIG_NONE}
+ {CAC_UPDATE_BUFFER, 0x04, .config = ACR_INS_CONFIG_NONE},
+ {CAC_READ_BUFFER, 0x00, .config = ACR_INS_CONFIG_NONE}
}},
{"\xFF\xFF", 3, {
- {VCARD7816_INS_EXTERNAL_AUTHENTICATE, 0x11, ACR_INS_CONFIG_P1, .p1=0x00},
- {VCARD7816_INS_GET_CHALLENGE, 0x11, ACR_INS_CONFIG_NONE},
- {VCARD7816_INS_VERIFY, 0x10, ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_EXTERNAL_AUTHENTICATE, 0x11, .config = ACR_INS_CONFIG_P1, .p1 = 0x00},
+ {VCARD7816_INS_GET_CHALLENGE, 0x11, .config = ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_VERIFY, 0x10, .config = ACR_INS_CONFIG_NONE},
}}
}},
{0x4d, 2, {
{"\x02\xFD", 3, {
- {CAC_UPDATE_BUFFER, 0x06, ACR_INS_CONFIG_NONE},
- {CAC_READ_BUFFER, 0x00, ACR_INS_CONFIG_DATA1, .data1=0x01},
- {CAC_READ_BUFFER, 0x06, ACR_INS_CONFIG_NONE}
+ {CAC_UPDATE_BUFFER, 0x06, .config = ACR_INS_CONFIG_NONE},
+ {CAC_READ_BUFFER, 0x00, .config = ACR_INS_CONFIG_DATA1, .data1 = 0x01},
+ {CAC_READ_BUFFER, 0x06, .config = ACR_INS_CONFIG_NONE}
}},
{"\xFF\xFF", 3, {
- {VCARD7816_INS_EXTERNAL_AUTHENTICATE, 0x11, ACR_INS_CONFIG_P1, .p1=0x00},
- {VCARD7816_INS_GET_CHALLENGE, 0x11, ACR_INS_CONFIG_NONE},
- {VCARD7816_INS_VERIFY, 0x10, ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_EXTERNAL_AUTHENTICATE, 0x11, .config = ACR_INS_CONFIG_P1, .p1 = 0x00},
+ {VCARD7816_INS_GET_CHALLENGE, 0x11, .config = ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_VERIFY, 0x10, .config = ACR_INS_CONFIG_NONE},
}}
}},
{0x50, 1, {
{"\xFF\xFF", 5, {
- {CAC_UPDATE_BUFFER, 0x04, ACR_INS_CONFIG_NONE},
- {CAC_READ_BUFFER, 0x00, ACR_INS_CONFIG_NONE},
- {VCARD7816_INS_EXTERNAL_AUTHENTICATE, 0x11, ACR_INS_CONFIG_P1, .p1=0x00},
- {VCARD7816_INS_GET_CHALLENGE, 0x11, ACR_INS_CONFIG_NONE},
- {VCARD7816_INS_VERIFY, 0x10, ACR_INS_CONFIG_NONE},
+ {CAC_UPDATE_BUFFER, 0x04, .config = ACR_INS_CONFIG_NONE},
+ {CAC_READ_BUFFER, 0x00, .config = ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_EXTERNAL_AUTHENTICATE, 0x11, .config = ACR_INS_CONFIG_P1, .p1 = 0x00},
+ {VCARD7816_INS_GET_CHALLENGE, 0x11, .config = ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_VERIFY, 0x10, .config = ACR_INS_CONFIG_NONE},
}}
}},
{0x51, 1, {
{"\xFF\xFF", 5, {
- {CAC_UPDATE_BUFFER, 0x04, ACR_INS_CONFIG_NONE},
- {CAC_READ_BUFFER, 0x00, ACR_INS_CONFIG_NONE},
- {VCARD7816_INS_EXTERNAL_AUTHENTICATE, 0x11, ACR_INS_CONFIG_P1, .p1=0x00},
- {VCARD7816_INS_GET_CHALLENGE, 0x11, ACR_INS_CONFIG_NONE},
- {VCARD7816_INS_VERIFY, 0x10, ACR_INS_CONFIG_NONE},
+ {CAC_UPDATE_BUFFER, 0x04, .config = ACR_INS_CONFIG_NONE},
+ {CAC_READ_BUFFER, 0x00, .config = ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_EXTERNAL_AUTHENTICATE, 0x11, .config = ACR_INS_CONFIG_P1, .p1 = 0x00},
+ {VCARD7816_INS_GET_CHALLENGE, 0x11, .config = ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_VERIFY, 0x10, .config = ACR_INS_CONFIG_NONE},
}}
}},
{0x52, 1, {
{"\xFF\xFF", 5, {
- {CAC_UPDATE_BUFFER, 0x04, ACR_INS_CONFIG_NONE},
- {CAC_READ_BUFFER, 0x00, ACR_INS_CONFIG_NONE},
- {VCARD7816_INS_EXTERNAL_AUTHENTICATE, 0x11, ACR_INS_CONFIG_P1, .p1=0x00},
- {VCARD7816_INS_GET_CHALLENGE, 0x11, ACR_INS_CONFIG_NONE},
- {VCARD7816_INS_VERIFY, 0x10, ACR_INS_CONFIG_NONE},
+ {CAC_UPDATE_BUFFER, 0x04, .config = ACR_INS_CONFIG_NONE},
+ {CAC_READ_BUFFER, 0x00, .config = ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_EXTERNAL_AUTHENTICATE, 0x11, .config = ACR_INS_CONFIG_P1, .p1 = 0x00},
+ {VCARD7816_INS_GET_CHALLENGE, 0x11, .config = ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_VERIFY, 0x10, .config = ACR_INS_CONFIG_NONE},
}}
}},
{0x44, 2, {
{"\x12\x01", 3, {
- {CAC_UPDATE_BUFFER, 0x06, ACR_INS_CONFIG_NONE},
- {CAC_READ_BUFFER, 0x00, ACR_INS_CONFIG_DATA1, .data1=0x01},
- {CAC_READ_BUFFER, 0x06, ACR_INS_CONFIG_NONE}
+ {CAC_UPDATE_BUFFER, 0x06, .config = ACR_INS_CONFIG_NONE},
+ {CAC_READ_BUFFER, 0x00, .config = ACR_INS_CONFIG_DATA1, .data1 = 0x01},
+ {CAC_READ_BUFFER, 0x06, .config = ACR_INS_CONFIG_NONE}
}},
{"\xFF\xFF", 3, {
- {VCARD7816_INS_EXTERNAL_AUTHENTICATE, 0x11, ACR_INS_CONFIG_P1, .p1=0x00},
- {VCARD7816_INS_GET_CHALLENGE, 0x11, ACR_INS_CONFIG_NONE},
- {VCARD7816_INS_VERIFY, 0x10, ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_EXTERNAL_AUTHENTICATE, 0x11, .config = ACR_INS_CONFIG_P1, .p1 = 0x00},
+ {VCARD7816_INS_GET_CHALLENGE, 0x11, .config = ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_VERIFY, 0x10, .config = ACR_INS_CONFIG_NONE},
}}
}},
{0x45, 2, {
{"\x12\x02", 3, {
- {CAC_UPDATE_BUFFER, 0x06, ACR_INS_CONFIG_NONE},
- {CAC_READ_BUFFER, 0x00, ACR_INS_CONFIG_DATA1, .data1=0x01},
- {CAC_READ_BUFFER, 0x06, ACR_INS_CONFIG_NONE}
+ {CAC_UPDATE_BUFFER, 0x06, .config = ACR_INS_CONFIG_NONE},
+ {CAC_READ_BUFFER, 0x00, .config = ACR_INS_CONFIG_DATA1, .data1 = 0x01},
+ {CAC_READ_BUFFER, 0x06, .config = ACR_INS_CONFIG_NONE}
}},
{"\xFF\xFF", 3, {
- {VCARD7816_INS_EXTERNAL_AUTHENTICATE, 0x11, ACR_INS_CONFIG_P1, .p1=0x00},
- {VCARD7816_INS_GET_CHALLENGE, 0x11, ACR_INS_CONFIG_NONE},
- {VCARD7816_INS_VERIFY, 0x10, ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_EXTERNAL_AUTHENTICATE, 0x11, .config = ACR_INS_CONFIG_P1, .p1 = 0x00},
+ {VCARD7816_INS_GET_CHALLENGE, 0x11, .config = ACR_INS_CONFIG_NONE},
+ {VCARD7816_INS_VERIFY, 0x10, .config = ACR_INS_CONFIG_NONE},
}}
}},
}