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

Reply via email to