This content has been marked as final. Show 3 replies
Here is what I have figured out about DODF record structure:
Does someone know the two UNKNOWN tags?
01 2c - first byte is sequence number, second is size 30 2a 30 0c 0c 06 49 64 4c 69 6e 6b - application label 03 02 06 c0 - UNKNOWN, last byte - c0 for PIN, 40 without PIN. But what value should I use if I want PIN2(c1?)? What is 0x06? I guess 0x02 is size 30 07 0c 05 42 47 65 49 44 - alternative label a1 11 30 0f 04 06 3f 00 50 15 57 01 - path to data object file 02 01 00 - UNKNOWN 80 02 02 4f - size of object (HI LO or only LO)
I found the problem. It is because I have to use UPDATE RECORD instead APPEND. The first two bytes in DODF records are 0x00 0x00 so UPDATE record should be used.
It can be used APPEND, but the record logical number should be incremented. In this way we will have unused space in DODF(object directory file) !
Still, the question about record structure tags is open!
Have you been through the PKCS#15 spec? Section 6.7 describes the data objects. I have not been through it in enough detail to know what you are looking for though.