Skip to content

Commit f6c7bb2

Browse files
committed
Remove obsolete FinEID cards
Since 2017-01-01 issued cards are Gemalto MultiApp Signed-off-by: Raul Metsma <[email protected]>
1 parent 70a9e77 commit f6c7bb2

File tree

2 files changed

+2
-41
lines changed

2 files changed

+2
-41
lines changed

src/libopensc/card-setcos.c

Lines changed: 2 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -31,31 +31,11 @@
3131
#include "asn1.h"
3232
#include "cardctl.h"
3333

34-
#define _FINEID_BROKEN_SELECT_FLAG 1
35-
3634
static const struct sc_atr_table setcos_atrs[] = {
3735
/* some Nokia branded SC */
3836
{ "3B:1F:11:00:67:80:42:46:49:53:45:10:52:66:FF:81:90:00", NULL, NULL, SC_CARD_TYPE_SETCOS_GENERIC, 0, NULL },
3937
/* RSA SecurID 3100 */
4038
{ "3B:9F:94:40:1E:00:67:16:43:46:49:53:45:10:52:66:FF:81:90:00", NULL, NULL, SC_CARD_TYPE_SETCOS_PKI, 0, NULL },
41-
42-
/* FINEID 1016 (SetCOS 4.3.1B3/PKCS#15, VRK) */
43-
{ "3b:9f:94:40:1e:00:67:00:43:46:49:53:45:10:52:66:ff:81:90:00", "ff:ff:ff:ff:ff:ff:ff:00:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff", NULL, SC_CARD_TYPE_SETCOS_FINEID, SC_CARD_FLAG_RNG, NULL },
44-
/* FINEID 2032 (EIDApplet/7816-15, VRK test) */
45-
{ "3b:6b:00:ff:80:62:00:a2:56:46:69:6e:45:49:44", "ff:ff:00:ff:ff:ff:00:ff:ff:ff:ff:ff:ff:ff:ff", NULL, SC_CARD_TYPE_SETCOS_FINEID_V2, 0, NULL },
46-
/* FINEID 2132 (EIDApplet/7816-15, 3rdparty test) */
47-
{ "3b:64:00:ff:80:62:00:a2", "ff:ff:00:ff:ff:ff:00:ff", NULL, SC_CARD_TYPE_SETCOS_FINEID_V2, 0, NULL },
48-
/* FINEID 2064 (EIDApplet/7816-15, VRK) */
49-
{ "3b:7b:00:00:00:80:62:00:51:56:46:69:6e:45:49:44", "ff:ff:00:ff:ff:ff:ff:f0:ff:ff:ff:ff:ff:ff:ff:ff", NULL, SC_CARD_TYPE_SETCOS_FINEID_V2, 0, NULL },
50-
/* FINEID 2164 (EIDApplet/7816-15, 3rdparty) */
51-
{ "3b:64:00:00:80:62:00:51", "ff:ff:ff:ff:ff:ff:f0:ff", NULL, SC_CARD_TYPE_SETCOS_FINEID_V2, 0, NULL },
52-
/* FINEID 2264 (EIDApplet/7816-15, OPK/EMV/AVANT) */
53-
{ "3b:6e:00:00:00:62:00:00:57:41:56:41:4e:54:10:81:90:00", NULL, NULL, SC_CARD_TYPE_SETCOS_FINEID_V2, 0, NULL },
54-
{ "3b:7b:94:00:00:80:62:11:51:56:46:69:6e:45:49:44", NULL, NULL, SC_CARD_TYPE_SETCOS_FINEID_V2, 0, NULL },
55-
/* FINEID cards 1.3.2011 with Samsung chips (round connector) that supports 2048 bit keys. */
56-
{ "3b:7b:94:00:00:80:62:12:51:56:46:69:6e:45:49:44", NULL, NULL, SC_CARD_TYPE_SETCOS_FINEID_V2_2048, 0, NULL },
57-
/* FINEID card for organisations, chip unknown. */
58-
{ "3b:7b:18:00:00:80:62:01:54:56:46:69:6e:45:49:44", NULL, NULL, SC_CARD_TYPE_SETCOS_FINEID_V2, _FINEID_BROKEN_SELECT_FLAG, NULL },
5939
/* Swedish NIDEL card */
6040
{ "3b:9f:94:80:1f:c3:00:68:10:44:05:01:46:49:53:45:31:c8:07:90:00:18", NULL, NULL, SC_CARD_TYPE_SETCOS_NIDEL, 0, NULL },
6141
/* Setcos 4.4.1 */
@@ -107,11 +87,6 @@ static int setcos_match_card(sc_card_t *card)
10787

10888
i = _sc_match_atr(card, setcos_atrs, &card->type);
10989
if (i < 0) {
110-
/* Unknown card, but has the FinEID application for sure */
111-
if (match_hist_bytes(card, "FinEID", 0)) {
112-
card->type = SC_CARD_TYPE_SETCOS_FINEID_V2_2048;
113-
return 1;
114-
}
11590
if (match_hist_bytes(card, "FISE", 0)) {
11691
card->type = SC_CARD_TYPE_SETCOS_GENERIC;
11792
return 1;
@@ -164,8 +139,6 @@ static int setcos_init(sc_card_t *card)
164139
}
165140

166141
switch (card->type) {
167-
case SC_CARD_TYPE_SETCOS_FINEID:
168-
case SC_CARD_TYPE_SETCOS_FINEID_V2_2048:
169142
case SC_CARD_TYPE_SETCOS_NIDEL:
170143
card->cla = 0x00;
171144
select_pkcs15_app(card);
@@ -190,7 +163,6 @@ static int setcos_init(sc_card_t *card)
190163

191164
switch (card->type) {
192165
case SC_CARD_TYPE_SETCOS_PKI:
193-
case SC_CARD_TYPE_SETCOS_FINEID_V2_2048:
194166
{
195167
unsigned long flags;
196168

@@ -593,9 +565,7 @@ static int setcos_set_security_env2(sc_card_t *card,
593565
break;
594566
case SC_SEC_OPERATION_SIGN:
595567
/* Should be 0x41 */
596-
apdu.p1 = ((card->type == SC_CARD_TYPE_SETCOS_FINEID_V2) ||
597-
(card->type == SC_CARD_TYPE_SETCOS_FINEID_V2_2048) ||
598-
(card->type == SC_CARD_TYPE_SETCOS_44) ||
568+
apdu.p1 = ((card->type == SC_CARD_TYPE_SETCOS_44) ||
599569
(card->type == SC_CARD_TYPE_SETCOS_NIDEL) ||
600570
SETCOS_IS_EID_APPLET(card)) ? 0x41 : 0x81;
601571
apdu.p2 = 0xB6;
@@ -617,8 +587,7 @@ static int setcos_set_security_env2(sc_card_t *card,
617587
p += env->file_ref.len;
618588
}
619589
if (env->flags & SC_SEC_ENV_KEY_REF_PRESENT &&
620-
!(card->type == SC_CARD_TYPE_SETCOS_NIDEL ||
621-
card->type == SC_CARD_TYPE_SETCOS_FINEID_V2_2048)) {
590+
!(card->type == SC_CARD_TYPE_SETCOS_NIDEL)) {
622591
if (env->flags & SC_SEC_ENV_KEY_REF_SYMMETRIC)
623592
*p++ = 0x83;
624593
else
@@ -679,8 +648,6 @@ static int setcos_set_security_env(sc_card_t *card,
679648
}
680649
switch (card->type) {
681650
case SC_CARD_TYPE_SETCOS_PKI:
682-
case SC_CARD_TYPE_SETCOS_FINEID:
683-
case SC_CARD_TYPE_SETCOS_FINEID_V2_2048:
684651
case SC_CARD_TYPE_SETCOS_NIDEL:
685652
case SC_CARD_TYPE_SETCOS_44:
686653
case SC_CARD_TYPE_SETCOS_EID_V2_0:
@@ -922,9 +889,6 @@ static int setcos_select_file(sc_card_t *card,
922889
int r;
923890

924891
r = iso_ops->select_file(card, in_path, file);
925-
/* Certain FINeID cards for organisations return 6A88 instead of 6A82 for missing files */
926-
if (card->flags & _FINEID_BROKEN_SELECT_FLAG && r == SC_ERROR_DATA_OBJECT_NOT_FOUND)
927-
return SC_ERROR_FILE_NOT_FOUND;
928892
if (r)
929893
return r;
930894
if (file != NULL) {

src/libopensc/cards.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,7 @@ enum {
6464
SC_CARD_TYPE_SETCOS_BASE = 6000,
6565
SC_CARD_TYPE_SETCOS_GENERIC,
6666
SC_CARD_TYPE_SETCOS_PKI,
67-
SC_CARD_TYPE_SETCOS_FINEID,
68-
SC_CARD_TYPE_SETCOS_FINEID_V2,
6967
SC_CARD_TYPE_SETCOS_NIDEL,
70-
SC_CARD_TYPE_SETCOS_FINEID_V2_2048,
7168
SC_CARD_TYPE_SETCOS_44 = 6100,
7269
SC_CARD_TYPE_SETCOS_EID_V2_0,
7370
SC_CARD_TYPE_SETCOS_EID_V2_1,

0 commit comments

Comments
 (0)