0

クレジットカードの名前、カード番号、有効期限などを読み取ろうとしています。6d00ただし、呼び出し時には常に戻りますSCardTransmit

私は事前に定義されたAIDを使用しています。これは有効であるとグーグルで検索しました(間違っている場合は修正してください)。ここにある:

AID_LIST = { 
  "A0000000421010",
  "A0000000422010",
  "A0000000031010",
  "A0000000032010",
  "A0000000041010",
  "A0000000042010",
  "A00000006900",
  "A0000001850002"
}

前もって感謝します。

4

2 に答える 2

14

私はあなたが使用しているこの API に精通していませんが、次の一連の APDU コマンドを送信する必要があります。

  1. Book 1、11.3 の EMV で指定されている SELECT PSE (連絡先カード用)。例は「00A404000E315041592E5359532E444446303100」です。
  2. SFI が返されたら、レコードを読み取って、サポートされている AID を見つけることができます。ただし、ブック 1、12.3.3 のガイドラインに従って、指定した定義済みの AID を使用して SELECT AID を呼び出す「試行錯誤」によってこれを行うことができます。
  3. コマンド「GET PROCESSING OPTIONS」を呼び出して、読み取り可能なレコードを確認するか、「READ RECORD」コマンドを呼び出して可能なレコードをスキャンして、可能なすべてのレコードを読み取ることができます。これらのレコードの 1 つに、探しているデータがあります。

通常、同じレコードに、カード所有者名、PAN、およびトラック 2 任意データ (有効期限が含まれる) が保存されます。

タグは Book 3 に記載されています。

アプリケーション プライマリ アカウント番号 (PAN) - 5A カード所有者名 - 5F20 トラック 2 裁量データ - 9F20

トラック 2 に関する有用な情報: http://en.wikipedia.org/wiki/Magnetic_stripe_card

上記のシーケンスのサンプル: http://code.google.com/p/javaemvreader/wiki/ExampleOutput

EMV 仕様: http://www.emvco.com/specifications.aspx?id=223

61XX、9000 などの可能なリターン コードは ISO 7816 にリストされています

于 2012-10-31T01:41:26.743 に答える
3

ISO 7816、EMV 仕様、およびベンダーのカード仕様を検索/購入する必要があります。そうしないと、自分が何をしているのかわかりません。

于 2012-10-30T07:52:18.537 に答える