Hello, you are right, I have not explained well the problem, sorry. I have a smartcard with three certificates and each certificate have a different ID (first certificate have the 55555555 (without dot, all ids are numbers), second certificate have the id 1000000 and third certificate have the id 10000000. I use the function sc_pkcs15_get_objects to obtain the certificates. After that, I print the id of each certificate and I obtain the same value 16000 for the ids 1000000 and 10000000. I use %lu for print this values. Is there a function sc_pkcs15_id_to_hex_string?
Thank you. On Wed, Mar 7, 2012 at 12:02 AM, Douglas E. Engert <deeng...@anl.gov> wrote: > > > On 3/5/2012 10:45 AM, evalues evalues wrote: > > Hello, > > > > how data is stored in this structure? I have been testing with numerical > data and I think that the data are converted to hexadecimal in pairs and > from right to left. For example, if I have the number > > 55.555.555 is converted into 85 85 85 85. It is a problem when the > number ends in zero, because, if I have the number 1.000.000 is converted > to16 0 0 0 and if I have the number 10.000.000 is converted > > to the same value (16000). Due to this, for two objects with identifiers > 1.000.000 and 10.000.000, in opensc they are converted to the same > identifier 16 0 0 0. I don't know if I have interpreted > > something bad or if really exist this error in opensc. > > You did not say how you were providing 55.555.555 > > It looks like the routine you are using is only looking at hex > digits and ignoring the "."s, and the fact that 1.000.000 has an > odd number of digits. > > One place where it is created is in src/tools/pkcs15-tool.c: > sc_pkcs15_hex_string_to_id(opt_auth_id, &auth_id) > > sc_pkcs15_id has an octet string and a length. > (The octet string could be printable.) > > So depending on the tool you are trying to use, you can > pass in the hex characters, and let it convert it, > > 31:2e:30:30:30:2e:30:30:30 would be your 1.000.000 > 31:30:2e:30:30:30:2e:30:30:30 would be 10.000.000 > or if you are writing your own code, copy the > asci characters and set the length. > > > > > Thank you. > > > > > > _______________________________________________ > > opensc-devel mailing list > > opensc-devel@lists.opensc-project.org > > http://www.opensc-project.org/mailman/listinfo/opensc-devel > > -- > > Douglas E. Engert <deeng...@anl.gov> > Argonne National Laboratory > 9700 South Cass Avenue > Argonne, Illinois 60439 > (630) 252-5444 > _______________________________________________ > opensc-devel mailing list > opensc-devel@lists.opensc-project.org > http://www.opensc-project.org/mailman/listinfo/opensc-devel >
_______________________________________________ opensc-devel mailing list opensc-devel@lists.opensc-project.org http://www.opensc-project.org/mailman/listinfo/opensc-devel