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:
martin 2010-10-05 16:02:57 +00:00
parent 50f99a20f8
commit f5a21e417b
10 changed files with 2 additions and 22 deletions

View File

@ -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);

View File

@ -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);

View File

@ -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)

View File

@ -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 */

View File

@ -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;

View File

@ -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);

View File

@ -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);

View 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)

View File

@ -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;

View File

@ -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);