diff options
-rw-r--r-- | src/cac-aca.c | 240 |
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}, }} }}, } |