2016-04-20 108 views
0

EMVカードをサポートするPOSアプリケーションを開発中です。私はTLVのVerifone MXカードリーダーからカードデータを読み取ることができますが、私はTLVデータを読み取り可能なデータにデコードする際に問題に直面しています。デコードEMV TLVデータ

データをTLVタグとその値に分割できます。結果の値は、デコードされたテキストの代わりに16進数で表示されます。

例:

これは(私はTLVUtilでこのTLVをチェックすると、私のような(読みやすい形式で特定のタグ内のデータを取得し、このサンプルTLVデータにhere

6F2F840E325041592E5359532E4444463031A51DBF0C1A61184F07A0000000031010500A564953412044454249548701019000 

を得たサンプルTLVデータであり、 。

Tag Value 
50 56495341204445424954 
4F A0000000031010 
61 4F07A0000000031010500A56495341204445424954870101 
6F 840E325041592E5359532E4444463031A51DBF0C1A61184F07A0000000031010500A56495341204445424954870101 
84 325041592E5359532E4444463031 
87 1 
90 
A5 BF0C1A61184F07A0000000031010500A56495341204445424954870101 
BF0C 61184F07A0000000031010500A56495341204445424954870101 
0:タグ50こちら)

私は自分のアプリケーションで得ることができる最も近いこのです

16進数から文字列に変換する必要がある特定のタグを特定する方法があるか、TLVUtilツールを複製できる.Netで利用可能なTLVパーサーとデコーダがあるかどうかを知りたいと思います。

+0

その簡単にあなたのデータが暗号化TRACK1されていませんか?たとえば、4186 0000 0000 1234のようなカードを実行した場合、その番号をデータで見つけることができますか?そうでなければ、ペイロードはおそらく暗号化され、データはうまく解析されません。 – tgolisch

+0

カード番号とは別に、カード所有者名、発行者銀行などの情報が返されます。この情報は16進コードで返されます。これらのタグを特定し、それらを選択的に変換したいと思います。 – Rahul

答えて

1

文字列に変換する必要があるタグはわずかです。一般的に、POS画面に置かれるタグは、読み込み可能な文字列の16進数でパーソナライズされています。

  • 5F20:カード所有者の名前

  • :アプリケーションラベル。

  • 5F2D

    :言語の優先

あなたがタグを変換することができる知っている必要があります。

+0

はい、デコードする必要があるタグはほとんど認識されていません。あなたはそのようなタグのリストをお願いします。また、タグをハードコーディングする代わりに、変換する必要のあるタグを実際に識別する方法があるかどうかを知りたいと思います。 – Rahul

+1

これらのタグを識別する方法はありません。これらのタグをハードコードする必要があります。私はそのようなリストを持っていない。 –

5
Complete list of EMV tags and are available in EMVCo 4.3 specification book 3 - 
you can download from here - https://www.emvco.com/download_agreement.aspx?id=654 
How data is represented differs from field to field. Check Annex A 
Data Elements Dictionary 


Details on encoding is mentioned in section 4.3 

Read both the sections and your problem solved. 
0

それは私には思われると、プログラムであなたは何かなどを識別することができ、

タグは1バイト(図5(a) - パンの数)であるか、それが2バイト含まれている(5F20 - カードホルダー名)、AND

長さは1バイトまたは2バイトです。AND

タグはプリミティブまたは構築されています。あなたが読むことができるHere

あなたがあなたが探しているタグのフォーマットを定義する有用な何かを得ることができる場合は、Here

ここでは、定義されているようにフォーマットをハードコードすることができます。

希望します。

0

6Fで始まるデータは、SELECTコマンドの後でEMVカードによって応答されるファイル制御情報(FCI)です。このビデオの例もデコードされ、説明されています。 https://youtu.be/iWg8EBhsfjY

それをチェックアウト

関連する問題