2

そのため、ドイツの公式スマートカードからセキュリティで保護されていない値を読み取ることができました。数値と文字列には問題なく機能しますが、日付の解釈方法に頭を悩ませることはできません。

私が読みたい日付は、仕様に見られるように4バイトの日付として指定されています:http://imgur.com/3jU8k

私が読んだ4バイトは次のとおりです。

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

この日付を表す必要があります:2012年2月20日バイナリ:

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

もう1つ:

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

表す必要があります:19.02.2017

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

このエンコーディングの謎を解くのを手伝ってください


カードからのデータは商用ソフトウェアで読み取ることができるので、取得した生データはどのようにでも使えると思います。

興味のある方へ:ベンダーには、私が何度も検索した非常に大きな仕様があります(http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:32002R1360:DE:NOT複数で利用可能言語)カードの構造は、119ページで最初に言及されています

4

1 に答える 1

7

リンクされた仕様は、それcardIssueDate がタイプであると述べていTimeRealます(セクション2.20)。同じ仕様は、 ASN.1 INTEGER(セクション2.110 )としてエンコードされた1970-01-01 TimeReal00:00:00 GMT(つまりUNIX時間)からの秒数として定義されています。

于 2012-05-22T16:40:16.570 に答える