Frage

So konnte ich einige ungesicherte Werte von einer offiziellen deutschen Smartcard auslesen.Es funktioniert gut für Zahlen und Zeichenfolgen, aber ich weiß nicht, wie man Datumsangaben interpretiert.

Das Datum, das ich lesen möchte, ist als 4-Byte-Datum angegeben, wie in der Spezifikation zu sehen ist: http://imgur.com/3jU8k

Die vier Bytes, die ich gelesen habe, sind:

0x4f 0x41 0x8d 0x00 (hex)
0100 1111 0100 0001 1000 1101 0000 0000 (binary)

und sollte dieses Datum darstellen:20.02.2012 Binär:

20 - 0001 0100
02 - 0000 0010
2012 - 0111 1101 1100

Noch einer:

0x58 0xAA 0x31 0x7f (hex)
0101 1000 1010 1010 0011 0001 0111 1111 (binary)

sollte darstellen:19.02.2017

19 - 0001 0011
02 - 0010
2017 - 0111 1110 0001

Bitte helfen Sie mir, dieses Encoding-Rätsel zu lösen


Die Daten von der Karte können von einer kommerziellen Software gelesen werden, daher denke ich, dass die Rohdaten, die ich erhalte, in irgendeiner Weise verwendbar sind.

Für Interessierte:Der Verkäufer hat eine sehr große Spezifikation, nach der ich mehrfach gesucht habe (http://eur-lex.europa.eu/lexuriserv/lexuriserv.do?uri=celex:32002r1360:de:Not in mehreren Sprachen) die Struktur der Karte wird zuerst auf Seite 119 erwähnt

War es hilfreich?

Lösung

Das steht in der verlinkten Spezifikation cardIssueDate ist vom Typ TimeReal (Abschnitt 2.20.).Die gleiche Spezifikation definiert TimeReal als Anzahl der Sekunden seit dem 01.01.1970 00:00:00 GMT (d. h. UNIX-Zeit) kodiert als ASN.1 INTEGER (Abschnitt 2.110.).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top