include common object attributes in the sc_pkcs15emu_add_* api

git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1781 c6295689-39f2-0310-b995-f0e70906c6a9
This commit is contained in:
nils 2004-05-04 17:58:04 +00:00
parent 475a29de67
commit 02cbe02bc2
3 changed files with 26 additions and 21 deletions

View File

@ -141,7 +141,9 @@ sc_pkcs15emu_openpgp_init(sc_pkcs15_card_t *p15card)
sc_pkcs15emu_add_pin(p15card, &auth_id,
pgp_pin_name[i], &path, i+1,
SC_PKCS15_PIN_TYPE_ASCII_NUMERIC,
0, buffer[1+i], flags, buffer[4+i], 0);
0, buffer[1+i], flags, buffer[4+i], 0,
SC_PKCS15_CO_FLAG_MODIFIABLE |
SC_PKCS15_CO_FLAG_PRIVATE);
}
for (i = 0; i < 3; i++) {
@ -165,7 +167,8 @@ sc_pkcs15emu_openpgp_init(sc_pkcs15_card_t *p15card)
SC_PKCS15_TYPE_PRKEY_RSA,
1024, prkey_usage[i],
NULL, i,
&auth_id);
&auth_id, SC_PKCS15_CO_FLAG_PRIVATE |
SC_PKCS15_CO_FLAG_MODIFIABLE);
}
for (i = 0; i < 3; i++) {
@ -188,7 +191,7 @@ sc_pkcs15emu_openpgp_init(sc_pkcs15_card_t *p15card)
pgp_key_name[i],
SC_PKCS15_TYPE_PUBKEY_RSA,
1024, pubkey_usage[i],
&path, 0, &auth_id);
&path, 0, &auth_id, SC_PKCS15_CO_FLAG_MODIFIABLE);
}
return 0;

View File

@ -237,7 +237,7 @@ sc_pkcs15emu_get_df(sc_pkcs15_card_t *p15card, int type)
int
sc_pkcs15emu_add_object(sc_pkcs15_card_t *p15card, int type,
const char *label, void *data,
const sc_pkcs15_id_t *auth_id)
const sc_pkcs15_id_t *auth_id, int obj_flags)
{
sc_pkcs15_object_t *obj;
int df_type;
@ -250,18 +250,15 @@ sc_pkcs15emu_add_object(sc_pkcs15_card_t *p15card, int type,
if (label)
strncpy(obj->label, label, sizeof(obj->label)-1);
if (!(p15card->flags & SC_PKCS15_CARD_FLAG_READONLY))
obj->flags |= SC_PKCS15_CO_FLAG_MODIFIABLE;
obj->flags = obj_flags;
if (auth_id)
obj->auth_id = *auth_id;
switch (type & SC_PKCS15_TYPE_CLASS_MASK) {
case SC_PKCS15_TYPE_AUTH:
obj->flags |= SC_PKCS15_CO_FLAG_PRIVATE;
df_type = SC_PKCS15_AODF;
break;
case SC_PKCS15_TYPE_PRKEY:
obj->flags |= SC_PKCS15_CO_FLAG_PRIVATE;
df_type = SC_PKCS15_PRKDF;
break;
case SC_PKCS15_TYPE_PUBKEY:
@ -288,7 +285,7 @@ sc_pkcs15emu_add_pin(sc_pkcs15_card_t *p15card,
const sc_path_t *path, int ref, int type,
unsigned int min_length,
unsigned int max_length,
int flags, int tries_left, const char pad_char)
int flags, int tries_left, const char pad_char, int obj_flags)
{
sc_pkcs15_pin_info_t *info;
@ -311,7 +308,7 @@ sc_pkcs15emu_add_pin(sc_pkcs15_card_t *p15card,
return sc_pkcs15emu_add_object(p15card,
SC_PKCS15_TYPE_AUTH_PIN,
label, info, NULL);
label, info, NULL, obj_flags);
}
int
@ -319,7 +316,7 @@ sc_pkcs15emu_add_cert(sc_pkcs15_card_t *p15card,
int type, int authority,
const sc_path_t *path,
const sc_pkcs15_id_t *id,
const char *label)
const char *label, int obj_flags)
{
/* const char *label = "Certificate"; */
sc_pkcs15_cert_info_t *info;
@ -331,7 +328,8 @@ sc_pkcs15emu_add_cert(sc_pkcs15_card_t *p15card,
info->path = *path;
return sc_pkcs15emu_add_object(p15card, type, label, info, NULL);
return sc_pkcs15emu_add_object(p15card, type, label, info, NULL,
obj_flags);
}
int
@ -340,7 +338,7 @@ sc_pkcs15emu_add_prkey(sc_pkcs15_card_t *p15card,
const char *label,
int type, unsigned int modulus_length, int usage,
const sc_path_t *path, int ref,
const sc_pkcs15_id_t *auth_id)
const sc_pkcs15_id_t *auth_id, int obj_flags)
{
sc_pkcs15_prkey_info_t *info;
@ -359,7 +357,7 @@ sc_pkcs15emu_add_prkey(sc_pkcs15_card_t *p15card,
info->path = *path;
return sc_pkcs15emu_add_object(p15card,
type, label, info, auth_id);
type, label, info, auth_id, obj_flags);
}
int
@ -368,7 +366,7 @@ sc_pkcs15emu_add_pubkey(sc_pkcs15_card_t *p15card,
const char *label, int type,
unsigned int modulus_length, int usage,
const sc_path_t *path, int ref,
const sc_pkcs15_id_t *auth_id)
const sc_pkcs15_id_t *auth_id, int obj_flags)
{
sc_pkcs15_pubkey_info_t *info;
@ -382,5 +380,6 @@ sc_pkcs15emu_add_pubkey(sc_pkcs15_card_t *p15card,
if (path)
info->path = *path;
return sc_pkcs15emu_add_object(p15card, type, label, info, auth_id);
return sc_pkcs15emu_add_object(p15card, type, label, info, auth_id,
obj_flags);
}

View File

@ -607,25 +607,28 @@ sc_pkcs15_df_t *sc_pkcs15emu_get_df(sc_pkcs15_card_t *p15card,
int type);
int sc_pkcs15emu_add_object(sc_pkcs15_card_t *p15card, int type,
const char *label, void *data,
const sc_pkcs15_id_t *auth_id);
const sc_pkcs15_id_t *auth_id, int obj_flags);
int sc_pkcs15emu_add_pin(sc_pkcs15_card_t *p15card,
const sc_pkcs15_id_t *id, const char *label,
const sc_path_t *path, int ref, int type,
unsigned int min_length, unsigned int max_length,
int flags, int tries_left, const char pad_char);
int flags, int tries_left, const char pad_char,
int obj_flags);
int sc_pkcs15emu_add_cert(sc_pkcs15_card_t *p15card, int type,
int authority, const sc_path_t *path,
const sc_pkcs15_id_t *id, const char *label);
const sc_pkcs15_id_t *id, const char *label,
int obj_flags);
int sc_pkcs15emu_add_prkey(sc_pkcs15_card_t *p15card,
const sc_pkcs15_id_t *id, const char *label,
int type, unsigned int modulus_length, int usage,
const sc_path_t *path, int ref,
const sc_pkcs15_id_t *auth_id);
const sc_pkcs15_id_t *auth_id,
int obj_flags);
int sc_pkcs15emu_add_pubkey(sc_pkcs15_card_t *p15card,
const sc_pkcs15_id_t *id, const char *label,
int type, unsigned int modulus_length, int usage,
const sc_path_t *path, int ref,
const sc_pkcs15_id_t *auth_id);
const sc_pkcs15_id_t *auth_id, int obj_flags);
#ifdef __cplusplus
}
#endif