Detect the eToken 72K and activate RSA 2048 and extended APDU for it.
Thanks to Joao Poupino for the patch http://www.opensc-project.org/pipermail/opensc-devel/2009-March/011978.html git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3671 c6295689-39f2-0310-b995-f0e70906c6a9
This commit is contained in:
parent
e0f3545157
commit
04a5c99f77
|
@ -36,6 +36,12 @@ static struct sc_card_driver muscle_drv = {
|
|||
NULL, 0, NULL
|
||||
};
|
||||
|
||||
static struct sc_atr_table muscle_atrs[] = {
|
||||
/* Aladdin eToken PRO USB 72K Java */
|
||||
{ "3b:d5:18:00:81:31:3a:7d:80:73:c8:21:10:30", NULL, NULL, SC_CARD_TYPE_MUSCLE_ETOKEN_72K, 0, NULL },
|
||||
{ NULL, NULL, NULL, 0, 0, NULL }
|
||||
};
|
||||
|
||||
#define MUSCLE_DATA(card) ( (muscle_private_t*)card->drv_data )
|
||||
#define MUSCLE_FS(card) ( ((muscle_private_t*)card->drv_data)->fs )
|
||||
typedef struct muscle_private {
|
||||
|
@ -465,6 +471,14 @@ static int muscle_init(sc_card_t *card)
|
|||
card->flags |= SC_CARD_FLAG_ONBOARD_KEY_GEN;
|
||||
card->flags |= SC_CARD_FLAG_RNG;
|
||||
card->caps |= SC_CARD_CAP_RNG;
|
||||
|
||||
/* Card type detection */
|
||||
_sc_match_atr(card, muscle_atrs, &card->type);
|
||||
if(card->type == SC_CARD_TYPE_MUSCLE_ETOKEN_72K) {
|
||||
card->caps |= SC_CARD_CAP_RSA_2048;
|
||||
card->caps |= SC_CARD_CAP_APDU_EXT;
|
||||
}
|
||||
|
||||
/* FIXME: Card type detection */
|
||||
if (1) {
|
||||
unsigned long flags;
|
||||
|
|
|
@ -126,6 +126,7 @@ enum {
|
|||
/* Muscle cards */
|
||||
SC_CARD_TYPE_MUSCLE_BASE = 15000,
|
||||
SC_CARD_TYPE_MUSCLE_GENERIC,
|
||||
SC_CARD_TYPE_MUSCLE_ETOKEN_72K,
|
||||
|
||||
/* ACOS5 driver */
|
||||
SC_CARD_TYPE_ACOS5_BASE = 16000,
|
||||
|
|
Loading…
Reference in New Issue