pkcs15: don't play with TokenInfo.version. 0 means PKCS#15 v1.1. The flag is not used by OpenSC.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@4789 c6295689-39f2-0310-b995-f0e70906c6a9
This commit is contained in:
parent
50f99a20f8
commit
f5a21e417b
|
@ -180,9 +180,6 @@ static int sc_pkcs15emu_atrust_acos_init(sc_pkcs15_card_t *p15card)
|
|||
return SC_ERROR_INTERNAL;
|
||||
strcpy(p15card->tokeninfo->serial_number, buf2);
|
||||
|
||||
/* the TokenInfo version number */
|
||||
p15card->tokeninfo->version = 0;
|
||||
|
||||
/* manufacturer ID */
|
||||
if (p15card->tokeninfo->manufacturer_id)
|
||||
free(p15card->tokeninfo->manufacturer_id);
|
||||
|
|
|
@ -74,7 +74,6 @@ sc_pkcs15emu_esteid_init (sc_pkcs15_card_t * p15card)
|
|||
|
||||
set_string (&p15card->tokeninfo->label, "ID-kaart");
|
||||
set_string (&p15card->tokeninfo->manufacturer_id, "AS Sertifitseerimiskeskus");
|
||||
p15card->tokeninfo->version = 2; /* Increases as the code changes for EstEID happen, not only in this file */
|
||||
|
||||
/* Select application directory */
|
||||
sc_format_path ("3f00eeee5044", &tmppath);
|
||||
|
|
|
@ -227,7 +227,6 @@ static int sc_pkcs15emu_gemsafeV1_init( sc_pkcs15_card_t *p15card)
|
|||
struct sc_apdu apdu;
|
||||
u8 rbuf[SC_MAX_APDU_BUFFER_SIZE];
|
||||
char * endptr;
|
||||
float version=0.0;
|
||||
|
||||
sc_debug(p15card->card->ctx, SC_LOG_DEBUG_NORMAL, "%s: Setting pkcs15 parameters\n", fn_name);
|
||||
|
||||
|
@ -261,10 +260,6 @@ static int sc_pkcs15emu_gemsafeV1_init( sc_pkcs15_card_t *p15card)
|
|||
if (r != SC_SUCCESS)
|
||||
return SC_ERROR_INTERNAL;
|
||||
endptr = (char *)(apdu.resp + apdu.resplen);
|
||||
version = strtod( (const char *)(apdu.resp + 4), &endptr);
|
||||
sc_debug(p15card->card->ctx, SC_LOG_DEBUG_NORMAL, "%s: version (float): %f, version (int): %d\n",
|
||||
fn_name, version, (int)version);
|
||||
p15card->tokeninfo->version = (int)version;
|
||||
|
||||
/* the manufacturer ID, in this case GemPlus */
|
||||
if (p15card->tokeninfo->manufacturer_id)
|
||||
|
|
|
@ -719,8 +719,6 @@ static int itacns_init(sc_pkcs15_card_t *p15card)
|
|||
iso7816_ic_manufacturers[ic_code],
|
||||
itacns_mask_manufacturers[mask_code]);
|
||||
set_string(&p15card->tokeninfo->manufacturer_id, buffer);
|
||||
p15card->tokeninfo->version = (data->os_version_h << 8
|
||||
| data->os_version_l);
|
||||
}
|
||||
|
||||
/* Read and set serial */
|
||||
|
|
|
@ -94,7 +94,6 @@ sc_pkcs15emu_openpgp_init(sc_pkcs15_card_t *p15card)
|
|||
goto failed;
|
||||
sc_bin_to_hex(buffer, (size_t)r, string, sizeof(string), 0);
|
||||
set_string(&p15card->tokeninfo->serial_number, string);
|
||||
p15card->tokeninfo->version = (buffer[6] << 8) | buffer[7];
|
||||
|
||||
p15card->tokeninfo->flags = SC_PKCS15_TOKEN_PRN_GENERATION | SC_PKCS15_TOKEN_EID_COMPLIANT;
|
||||
|
||||
|
|
|
@ -171,8 +171,6 @@ static int sc_pkcs15emu_starcert_init(sc_pkcs15_card_t *p15card)
|
|||
if (!p15card->tokeninfo->serial_number)
|
||||
return SC_ERROR_INTERNAL;
|
||||
strcpy(p15card->tokeninfo->serial_number, buf);
|
||||
/* the TokenInfo version number */
|
||||
p15card->tokeninfo->version = 0;
|
||||
/* the manufacturer ID, in this case Giesecke & Devrient GmbH */
|
||||
if (p15card->tokeninfo->manufacturer_id)
|
||||
free(p15card->tokeninfo->manufacturer_id);
|
||||
|
|
|
@ -325,8 +325,6 @@ static int sc_pkcs15_tccardos_init_func(sc_pkcs15_card_t *p15card)
|
|||
p15card->tokeninfo->serial_number = strdup(hex_buf);
|
||||
if (p15card->tokeninfo->serial_number == NULL)
|
||||
return SC_ERROR_OUT_OF_MEMORY;
|
||||
/* the TokenInfo version number */
|
||||
p15card->tokeninfo->version = 0;
|
||||
/* select the application DF */
|
||||
sc_format_path(TC_CARDOS_APP_DF, &path);
|
||||
r = sc_select_file(card, &path, &file);
|
||||
|
|
|
@ -62,7 +62,6 @@ static int sc_pkcs15emu_westcos_init(sc_pkcs15_card_t * p15card)
|
|||
if (p15card->tokeninfo->serial_number != NULL)
|
||||
free(p15card->tokeninfo->serial_number);
|
||||
p15card->tokeninfo->serial_number = strdup(buf);
|
||||
p15card->tokeninfo->version = buf[6];
|
||||
sc_format_path("AAAA", &path);
|
||||
r = sc_select_file(card, &path, &file);
|
||||
if (r)
|
||||
|
|
|
@ -147,7 +147,6 @@ int sc_pkcs15_parse_tokeninfo(sc_context_t *ctx,
|
|||
sc_strerror(r));
|
||||
return r;
|
||||
}
|
||||
ti->version += 1;
|
||||
ti->serial_number = malloc(serial_len * 2 + 1);
|
||||
if (ti->serial_number == NULL)
|
||||
return SC_ERROR_OUT_OF_MEMORY;
|
||||
|
@ -194,15 +193,13 @@ int sc_pkcs15_encode_tokeninfo(sc_context_t *ctx,
|
|||
u8 **buf, size_t *buflen)
|
||||
{
|
||||
int r;
|
||||
int version = ti->version;
|
||||
size_t serial_len, mnfid_len, label_len, flags_len, last_upd_len;
|
||||
|
||||
struct sc_asn1_entry asn1_toki[14], asn1_tokeninfo[2];
|
||||
|
||||
sc_copy_asn1_entry(c_asn1_toki, asn1_toki);
|
||||
sc_copy_asn1_entry(c_asn1_tokeninfo, asn1_tokeninfo);
|
||||
version--;
|
||||
sc_format_asn1_entry(asn1_toki + 0, &version, NULL, 1);
|
||||
sc_format_asn1_entry(asn1_toki + 0, &ti->version, NULL, 1);
|
||||
if (ti->serial_number != NULL) {
|
||||
u8 serial[128];
|
||||
serial_len = 0;
|
||||
|
|
|
@ -287,7 +287,7 @@ sc_profile_new(void)
|
|||
p15card->tokeninfo->manufacturer_id = strdup("OpenSC Project");
|
||||
p15card->tokeninfo->serial_number = strdup("0000");
|
||||
p15card->tokeninfo->flags = SC_PKCS15_TOKEN_EID_COMPLIANT;
|
||||
p15card->tokeninfo->version = 1;
|
||||
p15card->tokeninfo->version = 0;
|
||||
|
||||
/* Set up EF(TokenInfo) and EF(ODF) */
|
||||
p15card->file_tokeninfo = init_file(SC_FILE_TYPE_WORKING_EF);
|
||||
|
|
Loading…
Reference in New Issue