[...] > > Not sure on other cards, but DNIe mark this situation by mean of > > change on ATR status code from 03 90 00 to > > 0F 65 81 (Memory error). Not sure what to do if detected this > > situation:
> 1. When data structures of your card are still readable, then match on > both ATRs. And fail gracefully on pin verification and privileged > operations. > 2. When your card doesn't provide any data, then not recognising it > should be fine. Or handle it like a card in manufacturing state. Adding invalidated DNIe's ATR to ATR List, some commands still are available: card_select_file() seems to work... but card fails on stablishing SM. at card_get_serialnr() Attached comes ATR patch and resulting log to "pkcs15-tool -c" command So In your opinion when should invalidated DNIe report error, and which error code? Actually card code returns SC_ERROR_INTERNAL. (NOTE: Remember that this is not an official nor officially supported work: Still waiting for Spanish autorities to get support and permission to integrate DNIe into mainstream and resolve LGPL/GPL conflict on published code ) Juan Antonio
------------------------ src/libopensc/dnie/base_card.c ------------------------
index 5e84cd3..c2430bb 100644
@@ -48,7 +48,16 @@ static struct sc_atr_table card_atrs[] = {
SC_CARD_TYPE_DNIE,
0,
NULL
- }
+ },
+ { // card invalidated
+ "3B:7F:00:00:00:00:6A:44:4E:49:65:00:00:00:00:00:00:0F:65:81",
+ "FF:FF:00:FF:FF:FF:FF:FF:FF:FF:FF:00:00:00:00:00:00:FF:FF:FF",
+ CARD_CHIP_NAME,
+ SC_CARD_TYPE_DNIE,
+ 0,
+ NULL
+ },
+ { NULL, NULL, NULL, 0, 0, NULL }
};
static struct sc_card_operations card_ops;
damaged_dnie.log
Description: Binary data
_______________________________________________ opensc-devel mailing list [email protected] http://www.opensc-project.org/mailman/listinfo/opensc-devel
