Hello,
Rutoken initialization failed after 
http://www.opensc-project.org/opensc/changeset/3765#file8
only (trunk/src/pkcs15init/keycache.c)

Example:
$ pkcs15-init -E -C --so-pin "87654321" --so-puk ""
OK!
$ pkcs15-init -l "Rutoken ECP User PIN" -a 02 --pin "12345678" --puk "" 
-P --so-pin "87654321" -F
Failed to store PIN: Requested object not found



Breakpoint 2, sc_keycache_set_pin_name (path=0x8140590, ref=1, name=0) 
at keycache.c:251
251             if (name < 0 || name >= SC_PKCS15INIT_NPINS)
(gdb) n
248     {
(gdb)
251             if (name < 0 || name >= SC_PKCS15INIT_NPINS)
(gdb)
256             if ((old = named_pin[name]) != NULL) {
(gdb)
261             if (ref >= 0) {
(gdb)
264                     if (!(s = find_entry(path, SC_AC_CHV, ref, 0))) {
(gdb)
265                             s = new_entry(path, SC_AC_CHV, ref);
(gdb) s
new_entry (path=0x8140590, type=1, ref=1) at keycache.c:154
154     {
(gdb) n
157             s = (struct secret *) calloc(1, sizeof(*s));
(gdb) finish
Run till exit from #0  new_entry (path=0x8140590, type=1, ref=1) at 
keycache.c:157
0xb7fa5703 in sc_keycache_set_pin_name (path=0x8140590, ref=1, name=0) 
at keycache.c:265
265                             s = new_entry(path, SC_AC_CHV, ref);
Value returned is $1 = (struct secret *) 0x8144790
(gdb) n
266                             if (s == NULL)
(gdb)
269                             r = sc_keycache_get_key(path, SC_AC_CHV, 
-1, s->value, MAX_SECRET);
(gdb)
270                             if(r < 0)
(gdb)
292     }
(gdb) p r
$2 = -1407

=>
new_entry -> calloc
...
sc_keycache_get_key -> search_key -> if (s->len != 0) then error

Any idea?
Thanks.
_______________________________________________
opensc-devel mailing list
opensc-devel@lists.opensc-project.org
http://www.opensc-project.org/mailman/listinfo/opensc-devel

Reply via email to