Fre 13 Nov 2009 15:39:20 CET - [opensc-pkcs11] pkcs11-
object.c:43:C_CreateObject: C_CreateObject(): CKA_VALUE = 
308205C4308204ACA003020102021000870336DB6598889B16367306D4782330
Fre 13 Nov 2009 15:39:20 CET - [opensc-pkcs11] card.c:285:sc_lock: called
Fre 13 Nov 2009 15:39:20 CET - [opensc-pkcs11] card.c:668:sc_card_ctl: called
Fre 13 Nov 2009 15:39:20 CET - [opensc-pkcs11] card-
cardos.c:925:cardos_lifecycle_set: called


C_CreateObject was called to store a certificate.
Then cardos_lifecycle_set is called.

cardos_lifecycle_set seems only be called from cardos_card_ctl with 
SC_CARDCTL_LIFECYCLE_SET as parameter.

sc_pkcs15init_set_lifecycle(sc_card_t *card, int lcycle)
        return sc_card_ctl(card, SC_CARDCTL_LIFECYCLE_SET, &lcycle);

ah, here it is called. looks like the only caller to me.

This again is called from pkcs15init/pkcs15-lib.c and pkcs15-cardos.c
in several places.

So, the cards Marc and Freddy have should work well for their purpose
(storing a certificate), even if the lifecycle can't be changed.

Marc/Freddy: can you recompile opensc yourself, and edit src/libopensc/card-
cardos.c (look for cardos_lifecycle_set and make it return 
SC_ERROR_NOT_SUPPORTED) - then try again storing a certificate.

if that works, we can figure out a cleaner way to implement a workaround
for your cards. for example if you change your card ATR (as you mentioned),
it can be used to detect your cards. or those SigG components you mentioned -
the card driver could see if they are on the card and if so enable swisssign
mode.

Regards, Andreas
p.s. send a new opensc debug log file with those changes, so we can see
what fails next - lifecycle is only the first issue isolated so far.
_______________________________________________
opensc-devel mailing list
opensc-devel@lists.opensc-project.org
http://www.opensc-project.org/mailman/listinfo/opensc-devel

Reply via email to