問題タブ [contactless-smartcard]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
2519 参照

android - Visa 非接触型カードで GET PROCESSING OPTIONS が予期せず 6984 コードを返す

Java コードと Android NFC 機能を使用して、非接触型決済カードと通信しています。

私は一連の Visa およ​​び MasterCards で動作するコードを持っていますが、Visa カードの特定のサブカテゴリで問題が発生しました。

私が行った手順と遭遇した問題は次のとおりです。

  • PPSE を使用してアプリケーションを識別します
  • アプリケーション AID (A0000000031010) を選択します ファイル制御情報には、作成した PDOL が含まれています
  • GET PROCESSING OPTIONS を送信する

この時点で、6984 リターン コードを取得しました。これは、私が見る限り、PIN 試行制限を超えたことを意味しますが、これが GPO からの正当な応答であることを確認できませんでした。

認証の試行がなく、非接触型のトランザクションであることを考えると、これが見られるとは思いませんでした。これは、カードが別の場所で無効化されたことを示していますか?

私が書いているコードは、カードから Track2 データにアクセスするために必要な最小限の手順を実行していることに注意してください。完全な EMV カーネル処理を再作成しようとしているわけではありません。

ありがとう

0 投票する
1 に答える
4062 参照

payment - 処理オプションの取得に関する問題

A0000000032010Visa 非接触型カードのアプリケーション ( ) を選択しました

そして、GPO コマンドを発行すると:

エラーが発生します:

誰がこれを引き起こしているのか考えていますか?

0 投票する
1 に答える
1777 参照

android - ホストベースのカード エミュレーションについて、何かアドバイスはありますか?

私はこの分野に不慣れで、Nexus S (CyanogenMod11 = Android Kitkat 4.4.2) を持っています。非接触型カードをエミュレートするには、HCE (ホストベース カード エミュレーション) モードを使用する必要があります。

これを達成するために従う必要がある手順とヒントに関するガイダンスはありますか? ( - シミュレートされたセキュア エレメントをプログラムする必要がありますか?クラウドに配置しますか?)

PS: 私のアプリは、NFC リーダーではなく、別の Android NfC 対応携帯電話で読み取られるため、新しいリーダー モードも使用する必要があります。

ありがとうございました。

0 投票する
1 に答える
1315 参照

aes - NFC - Mifare DESFire - AES 通信

Omnikey 5321 リーダーを使用して、Mifare DESFire EV1 タグと通信しています。標準データ ファイルで 40 バイトを読み取りたい。Winscard DLL (c++) を使用して、ISO 7816 APDU メッセージ構造でネイティブ desfire コマンドをラップしています。

アプリ選択もAES認証もOK。データ読み取りコマンドに問題があります。通信設定は 0x03 (完全暗号化) に設定されます。

48 データ バイトと "0x9100" ステータス コードを受け取りました。データの復号化に使用する IV を計算するには:

最初に XOR (0xBD 01 00 00 00 28 00 00 80 00 00 00 00 00 00 00) と AES 認証後に計算されたサブキー 2)。

次に、Init Vector を 0x00 に設定し、セッション キーを使用して結果を暗号化します。暗号化されたデータは IV と見なされます。

最後に、IV とセッション キーで受信した 48 データ バイトを復号化します。

40 データ バイトは良い場合もあれば、間違っている場合もあります。なぜいつも同じ結果にならないのかわかりません。復号化された CRC は常に同じであり、パディングも同じです。

別のファイルのプレーン データを読み込もうとしても、問題はありません。ですから、問題なのは解読だと思います。ただし、CRC とパディングは常に同じとは限りません。

いくつかのヘルプは非常に便利です

0 投票する
1 に答える
5320 参照

c++ - SCardTransmit、スマートカードの読み書き方法

非接触型カードの読み取りと書き込みを試みて、プリンターに取り組んでいます。

これは私が使用しているハードウェアとソフトウェアのマニュアルです: manual contactless

私が正しく理解している場合、スマートカードを操作する (読み取りと書き込み) プロセスは次のとおりです。

  1. SCardEstablishContext() を使用してコンテキストを確立する
  2. SCardConnect() を使用して、選択したリーダーを介してカードに接続します
  3. SCardTransmit() を使用してカードに話しかける

あれは正しいですか?

ポイント 1 と 2 は問題なく動作し、0 (SCARD_S_SUCCESS) を返しますが、SCardTransmit に問題があります。

  • たとえば、ブロック 5 を読み取りたい場合は、次のコードを使用します。

    エラーコード 22 を返します。

    SCARD_PROTOCOL_T0 を SCARD_PROTOCOL_T1 に変更すると、うまくいくようです (pbRecvBuffer の値が正しいかどうかはわかりません): pbRecvBuffer には 2 バイトの値があります: 6e 00 と ret = 0.

    これらの価値観は理にかなっていますか?

    SCardTransmit api ( SCardTransmit ) を読んだところ、プロトコル T=0 を使用する必要があることがわかりました。それは、SCARD_PROTOCOL_T0 を機能させる必要があるということですか? その場合、エラー 22 が表示されるのはなぜですか? 私が間違っていることは何ですか?

  • ブロック 5 に書き込みたい場合は、同じプロセスに従います: SCardEstablishContext、SCardConnect、および SCardTransmit。pbSendBuffer を {(BYTE)0xFC, (BYTE)0xD0,(BYTE)0x05, (BYTE)0x00, 0x10}; に変更しましたが、データがどこにあるのか、SCardTransmit にどのパラメータを設定すればよいのかよくわかりません. この例を教えていただけますか?

どうもありがとうございました!

0 投票する
1 に答える
1045 参照

android - NFC タイプ 4 タグ エミュレーションで大きなデータ ファイルを整理する方法

4Mbit データフラッシュにデータを保存し、NFC 経由でスマートフォンで読み取るアプリケーションに取り組んでいます。これを行うには、NFC フロントエント (AS3953) とマイクロコントローラーを使用して Type 4 タグをエミュレートします。データを 264 バイトのチャンク (フラッシュのページ サイズ) に分割し、それらを順番に読み取ると便利です。

それぞれ 264 バイトの多数のレコードを含む 1 つの大きな NDEF ファイル、または 1 つの専用ファイルの下にある多数の単一の基本ファイル?

入力していただきありがとうございます、アンドレアス

0 投票する
3 に答える
13293 参照

android - Samsung Galaxy S4 を使用して Visa Paywave NFC 対応カードからクレジット カード データを読み取る APDU コマンド

上記のコードを使用して、samsung galaxy s4 を使用して VisaPayWave NFC カードの詳細 (カード所有者の名前、有効期限、カード番号など) を読み取ります。私が得ている出力は[106、-126]です。使用している APDU コマンドが正しくないと思います。正しいコマンドを教えてください。

0 投票する
0 に答える
326 参照

android - Android 経由で NFC を使用して ISO 14443 タイプ B を読み取る際にタグが失われる問題がある

Android経由でNFCを使用してSO 14443 Type Bを読み取ろうとしていますが、

カードの検出にかなりの時間がかかり、ほとんどの場合、トランシーバーの取得に失敗し、タグが失われています。

しかし、タイプ A カードでは問題に直面していません。

私はAndroidフォアグラウンドディスパッチアプローチを使用しようとしています.Samsung S3とS4も使用して、Android APIに問題があることを確認しました.

別の電話で別の NFC コントローラー NXP PN544 と Broadcom BCM20794 を試してみましたが、同じ応答が得られました。

PICC アンテナに電力を供給するための NFC アンテナの最大電力強度があるかどうかを結論付けることができません

タイプ B カードの解決策はありますか