libopensc: Re-defines SC_CARD_FLAG_ONBOARD_KEY_GEN to be local to the file card-flex.c, because that flag is used nowhere else. In principle, this patch only reverts some changes made by r2192.
Relates to #296. git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@5312 c6295689-39f2-0310-b995-f0e70906c6a9
This commit is contained in:
parent
cfffb7f5dd
commit
69c846f904
|
@ -175,10 +175,9 @@ app default {
|
|||
# Optionally, some known parameters
|
||||
# can be specified as strings:
|
||||
#
|
||||
# keygen - On-board key generation capability
|
||||
# rng - On-board random number source
|
||||
#
|
||||
# flags = "keygen", "rng", "0x80000000";
|
||||
# flags = "rng", "0x80000000";
|
||||
|
||||
#
|
||||
# Context: PKCS#15 emulation layer
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
#include "internal.h"
|
||||
#include "cardctl.h"
|
||||
|
||||
#define FLAG_KEYGEN 0x80000000
|
||||
#define IS_CYBERFLEX(card) (card->type == SC_CARD_TYPE_FLEX_CYBER)
|
||||
|
||||
static struct sc_atr_table flex_atrs[] = {
|
||||
|
@ -39,41 +40,38 @@ static struct sc_atr_table flex_atrs[] = {
|
|||
/* 8k */
|
||||
{ "3B:85:40:20:68:01:01:05:01", NULL, "Cryptoflex 8K", SC_CARD_TYPE_FLEX_CRYPTO, 0, NULL },
|
||||
/* 16k */
|
||||
{ "3B:95:94:40:FF:63:01:01:02:01", NULL, "Cryptoflex 16K", SC_CARD_TYPE_FLEX_CRYPTO, SC_CARD_FLAG_ONBOARD_KEY_GEN, NULL },
|
||||
{ "3B:95:94:40:FF:63:01:01:02:01", NULL, "Cryptoflex 16K", SC_CARD_TYPE_FLEX_CRYPTO, FLAG_KEYGEN, NULL },
|
||||
/* "16K+SS1" alias Cryptoflex 16 card with Standard Softmask V1 */
|
||||
/* (taken from Cryptoflex Card Programmers Guide 4.5 Page xviii) */
|
||||
/* last two bytes can be ignored - version of the softmask */
|
||||
{ "3B:95:15:40:FF:63:01:01:02:01", "FF:FF:FF:FF:FF:FF:FF:FF:00:00",
|
||||
"Cryptoflex 16K", SC_CARD_TYPE_FLEX_CRYPTO,
|
||||
SC_CARD_FLAG_ONBOARD_KEY_GEN, NULL },
|
||||
"Cryptoflex 16K", SC_CARD_TYPE_FLEX_CRYPTO, FLAG_KEYGEN, NULL },
|
||||
/* 32K v4 */
|
||||
/* "32K+SS1" alias Cryptoflex 32 card with Standard Softmask V1 */
|
||||
/* (taken from Cryptoflex Card Programmers Guide 4.5 Page xviii) */
|
||||
/* last two bytes can be ignored - version of the softmask */
|
||||
{ "3B:95:18:40:FF:64:02:01:01:02","FF:FF:FF:FF:FF:FF:FF:FF:00:00",
|
||||
"Cryptoflex 32K v4", SC_CARD_TYPE_FLEX_CRYPTO,
|
||||
SC_CARD_FLAG_ONBOARD_KEY_GEN, NULL },
|
||||
"Cryptoflex 32K v4", SC_CARD_TYPE_FLEX_CRYPTO, FLAG_KEYGEN, NULL },
|
||||
/* "32K+e-gate" alias Cryptoflex e-gate 32K card */
|
||||
/* (taken from Cryptoflex Card Programmers Guide 4.5 Page xviii) */
|
||||
/* last two bytes can be ignored - version of the softmask */
|
||||
{ "3B:95:18:40:FF:62:01:01:00:00", "FF:FF:FF:FF:FF:FF:FF:FF:00:00",
|
||||
"Cryptoflex e-gate 32K", SC_CARD_TYPE_FLEX_CRYPTO,
|
||||
SC_CARD_FLAG_ONBOARD_KEY_GEN, NULL },
|
||||
"Cryptoflex e-gate 32K", SC_CARD_TYPE_FLEX_CRYPTO, FLAG_KEYGEN, NULL },
|
||||
/* 32K e-gate */
|
||||
{ "3B:95:18:40:FF:62:01:02:01:04", NULL, "Cryptoflex 32K e-gate", SC_CARD_TYPE_FLEX_CRYPTO, SC_CARD_FLAG_ONBOARD_KEY_GEN, NULL },
|
||||
{ "3B:95:18:40:FF:62:01:02:01:04", NULL, "Cryptoflex 32K e-gate", SC_CARD_TYPE_FLEX_CRYPTO, FLAG_KEYGEN, NULL },
|
||||
/* 32K e-gate v4 */
|
||||
{ "3B:95:18:40:FF:62:04:01:01:05", NULL, "Cryptoflex 32K e-gate v4", SC_CARD_TYPE_FLEX_CRYPTO, SC_CARD_FLAG_ONBOARD_KEY_GEN, NULL },
|
||||
{ "3B:95:18:40:FF:62:04:01:01:05", NULL, "Cryptoflex 32K e-gate v4", SC_CARD_TYPE_FLEX_CRYPTO, FLAG_KEYGEN, NULL },
|
||||
|
||||
/* new cryptoflex 32k card - atr looks very similiar to old 8k card */
|
||||
{ "3b:95:15:40:ff:68:01:02:45:47", NULL, "Cryptoflex 32K", SC_CARD_TYPE_FLEX_CRYPTO, SC_CARD_FLAG_ONBOARD_KEY_GEN, NULL },
|
||||
{ "3b:95:15:40:ff:68:01:02:45:47", NULL, "Cryptoflex 32K", SC_CARD_TYPE_FLEX_CRYPTO, FLAG_KEYGEN, NULL },
|
||||
|
||||
{ "3B:E2:00:00:40:20:49:06", NULL, "Cryptoflex", SC_CARD_TYPE_FLEX_CRYPTO, 0, NULL },
|
||||
/* + full DES option */
|
||||
{ "3B:E2:00:00:40:20:49:05", NULL, "Cryptoflex", SC_CARD_TYPE_FLEX_CRYPTO, 0, NULL },
|
||||
/* + Key Generation */
|
||||
{ "3B:E2:00:00:40:20:49:07", NULL, "Cryptoflex", SC_CARD_TYPE_FLEX_CRYPTO, SC_CARD_FLAG_ONBOARD_KEY_GEN, NULL },
|
||||
{ "3B:E2:00:00:40:20:49:07", NULL, "Cryptoflex", SC_CARD_TYPE_FLEX_CRYPTO, FLAG_KEYGEN, NULL },
|
||||
/* + Key Generation */
|
||||
{ "3B:85:40:20:68:01:01:03:05", NULL, "Cryptoflex", SC_CARD_TYPE_FLEX_CRYPTO, SC_CARD_FLAG_ONBOARD_KEY_GEN, NULL },
|
||||
{ "3B:85:40:20:68:01:01:03:05", NULL, "Cryptoflex", SC_CARD_TYPE_FLEX_CRYPTO, FLAG_KEYGEN, NULL },
|
||||
|
||||
/* Multiflex */
|
||||
/* 3K */
|
||||
|
@ -190,7 +188,7 @@ static int flex_init(sc_card_t *card)
|
|||
|
||||
flags = SC_ALGORITHM_RSA_RAW;
|
||||
flags |= SC_ALGORITHM_RSA_HASH_NONE;
|
||||
if (card->flags & SC_CARD_FLAG_ONBOARD_KEY_GEN)
|
||||
if (card->flags & FLAG_KEYGEN)
|
||||
flags |= SC_ALGORITHM_ONBOARD_KEY_GEN;
|
||||
|
||||
_sc_card_add_rsa_alg(card, 512, flags, 0);
|
||||
|
|
|
@ -468,7 +468,6 @@ static int muscle_init(sc_card_t *card)
|
|||
|
||||
card->cla = 0xB0;
|
||||
|
||||
card->flags |= SC_CARD_FLAG_ONBOARD_KEY_GEN;
|
||||
card->flags |= SC_CARD_FLAG_RNG;
|
||||
card->caps |= SC_CARD_CAP_RNG;
|
||||
|
||||
|
|
|
@ -457,9 +457,7 @@ static int load_card_atrs(sc_context_t *ctx)
|
|||
continue;
|
||||
}
|
||||
flags = 0;
|
||||
if (!strcmp(list->data, "keygen")) {
|
||||
flags = SC_CARD_FLAG_ONBOARD_KEY_GEN;
|
||||
} else if (!strcmp(list->data, "rng")) {
|
||||
if (!strcmp(list->data, "rng")) {
|
||||
flags = SC_CARD_FLAG_RNG;
|
||||
} else {
|
||||
if (sscanf(list->data, "%x", &flags) != 1)
|
||||
|
|
|
@ -407,8 +407,6 @@ struct sc_reader_operations {
|
|||
/* Mask for card vendor specific values */
|
||||
#define SC_CARD_FLAG_VENDOR_MASK 0xFFFF0000
|
||||
|
||||
/* Hint SC_ALGORITHM_ONBOARD_KEY_GEN */
|
||||
#define SC_CARD_FLAG_ONBOARD_KEY_GEN 0x00000001
|
||||
/* Hint SC_CARD_CAP_RNG */
|
||||
#define SC_CARD_FLAG_RNG 0x00000002
|
||||
|
||||
|
|
Loading…
Reference in New Issue