add atr and os identification for cardos 4.3 (plain, not b, not likely

to be ever seen, but 100% compatible to 4.3b as far as I know - only slower).


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@2827 c6295689-39f2-0310-b995-f0e70906c6a9
This commit is contained in:
aj 2006-01-26 19:02:02 +00:00
parent 2cc82fe774
commit 525613ad5a
3 changed files with 5 additions and 0 deletions

View File

@ -53,6 +53,8 @@ static struct sc_atr_table cardos_atrs[] = {
{ "3b:f2:98:00:ff:c1:10:31:fe:55:c8:04:12", NULL, NULL, SC_CARD_TYPE_CARDOS_GENERIC, 0, NULL },
/* M4.2 */
{ "3b:f2:18:00:ff:c1:0a:31:fe:55:c8:06:8a", NULL, NULL, SC_CARD_TYPE_CARDOS_M4_2, 0, NULL },
/* M4.3 */
{ "3b:f2:18:00:02:c1:0a:31:fe;55:c8:07:76", NULL, NULL, SC_CARD_TYPE_CARDOS_M4_3, 0, NULL },
/* Italian eID card, postecert */
{ "3b:e9:00:ff:c1:10:31:fe:55:00:64:05:00:c8:02:31:80:00:47", NULL, NULL, SC_CARD_TYPE_CARDOS_GENERIC, 0, NULL },
/* Italian eID card, infocamere */

View File

@ -40,6 +40,7 @@ enum {
SC_CARD_TYPE_CARDOS_BASE = 1000,
SC_CARD_TYPE_CARDOS_GENERIC,
SC_CARD_TYPE_CARDOS_M4_2,
SC_CARD_TYPE_CARDOS_M4_3,
/* flex/cyberflex drivers */
SC_CARD_TYPE_FLEX_BASE = 2000,

View File

@ -137,6 +137,8 @@ int cardos_info(void)
printf(" (that's CardOS M4.01a)\n");
} else if (apdu.resp[0] == 0xc8 && apdu.resp[1] == 0x06) {
printf(" (that's CardOS M4.2)\n");
} else if (apdu.resp[0] == 0xc8 && apdu.resp[1] == 0x07) {
printf(" (that's CardOS M4.3)\n");
} else if (apdu.resp[0] == 0xc8 && apdu.resp[1] == 0x08) {
printf(" (that's CardOS M4.3b)\n");
} else {