問題タブ [hce]

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 投票する
4 に答える
68578 参照

android - Android 4.4 で Mifare カードをエミュレートする

Mifare やその他のカード エミュレーションについて調査しました。プログラミングに関する知識は豊富です (Android ではなく、C/C++)。私は proxmark を持っていて、proxmark 用に複数のエミュレーション コードを作成したので、カードがどのように通信するかを知っています。

私は現在理解していません.Androidはフルカードエミュレーションを有効にしますか. 私はこれを約 3 日間調査しましたが、結論として、一定のパターンは 1 つではありません。可能だと言う人もいれば、不可能だと言う人もいます。Android APIを調べたところ、ホストベースのカードエミュレーションでうまくいくようですが、4.4 Kitkatの新しいことだと理解しているので、経験はありますか?

物事を簡単にするために、現在、Mifare Ultralight の基本的な最も単純なエミュレーションを調査しています。このカードはセキュリティ上の悪夢です。暗号化はなく、約 10 の機能しかありません。このカードは再現が最も簡単なので、このカードで研究を開始することに興味があります。

Androidでのカードエミュレーションに関する知識を持っている人はいますか。ストックOSを使用していない可能性があります。知っておく価値のあることは、非常に高く評価されます。

ありがとう。

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

android - ホスト カード エミュレーションの設定

現在、NFC Shieldを備えたArduino UNOとAndroid 4.4を実行しているNexus 4を接続しようとしています。

サービスのセットアップが完了しました。現時点では単にログを記録しています。問題は、NFC インテントがアプリにバインドされないことです。デバッガーは次のエラーを報告します。

だからここに私の2つの質問があります:

  • Arduino側では、「その他」カテゴリの特定のアプリを探していることを携帯電話が理解するために、NFCシールドはどのような「メッセージ」を携帯電話に送信する必要がありますか?

  • Android 側では、そのインテントをキャッチするための aid-filter タグの値は何でしょうか? カスタムのものを作ることはできますか、それともこれが機能するために何らかの ISO 仕様に固執する必要がありますか?

アップデート

わかりましたので、APDU を作成する Arduino スケッチの関連部分を次に示します。

そして、これが私の Android アプリの APDU サービス XML ファイルです。

これは、携帯電話を NFC シールドの上に置いたときに得られるログです。

Android が APDU を HCE サービスにルーティングしないのはなぜですか?

0 投票する
2 に答える
12972 参照

android - Arduino: uint8_t 配列から文字列へ

ハッシュをapdu回答として送信するAndroid上に構築されたNFCアプリケーションがあります。これは、ハッシュを送信するために Android アプリで使用するコードです。

Arduino 側で受信すると、次の RAW データが取得されます。

そこからハッシュを取り戻すにはどうすればよいですか?

これは私が今持っているものですが、明らかに機能していません:

そして、これは上記のコードのシリアル出力です:

ハーフ!!!

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

nfc - Nexus 7 2012 でのホスト カード エミュレーション

KitKat の新しいホスト カード エミュレーション機能をテストしようとしていますが、現時点で NFC を備えた唯一の KitKat デバイスは 2012 Nexus 7 です。Google ウォレットを介したカード エミュレーションをサポートしており、送受信できます。使用する 2 つの Master Card AID にデータを送信します。

ただし、独自のカスタム AID との通信を処理するために独自のものを実装しようとするとHostApduService、Android は APDU をサービスにルーティングしません。CardEmulation.isDefaultServiceForAid次に、自分のサービスがカスタム AID を処理する必要があるかどうかを確認するために電話をかけようとしました。コードにクラスを含めるCardEmulationと、アプリケーションがクラッシュします。

を見るとlogcat、「このデバイスはカード エミュレーションをサポートしていません」というエントリがあります。2012 Nexus 7 がこれをサポートしていない理由はありますか? 必要なハードウェアがすべて搭載されており、Google ウォレットの使用時にカードをエミュレートします。

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

android - NFC リーダーのしくみ

こんにちは、私はアンドロイド開発者です。私はすでにAndroid NFCリーダーとライター、およびビームを構築しています。したがって、ライターを使用すると、NFC タグに単純なデータを書き込むことができ、リーダーを使用してタグからデータを読み取ることができます。ビームを使用して、2 つの NFC 対応デバイス間でデータを送信できます。だから今まではすべてうまくいっています。今はNFC決済に取り組みたいと思っています。私はアンドロイドプラットフォームに取り組んでいます。私の質問は、支払いに使用される NFC リーダーがどのように機能するかということです。それらは Beam で動作しますか、それとも私たちのデバイスは NFC リーダーの nfc タグとして機能し、デバイスからデータを読み取るだけです. Android の HCE について読みましたが、これは概念を理解するのに大いに役立ちます。しかし、読者の概念とそこにある作業シナリオに関して、私は少し混乱しています。このことを理解するために私を助けてくれる人はいますか、助けが必要です。ありがとうございました。

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

java - Nexus S および ACS ACR122 によるカード エミュレーション

タイトルに書いたように、Nexus S、Cyanogenmod 10.1.3、および ACS Acr122 USB リーダーを使用してカード エミュレーションを使用しようとしています。この記事を見つけましたhttp://nelenkov.blogspot.it/2012/10/emulating-pki-smart-card-with-cm91.htmlおよびソースコードを含むgithub https://github.com/nelenkov/virtual- pki カード. 指示に従ったところ、奇妙なことが起こりました。スマートフォンがリーダー上にある間、接続の開始と停止が繰り返されるため、デモが機能せず、クライアントで次の例外が発生します。

それを修正する方法について何か考えはありますか?ありがとう

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

android - Android : NFC プロトコルの優先度を変更するには?

NFC タグと ISO-14443 タイプ A タグを読み書きする独自の Android アプリ (アプリ A) があります。多くの Android デバイスで問題なく動作します。

Nexus5 に ISO-14443 タグの役割を与えたいので、Nexus5 に独自の HCE (ホスト カード エミュレーション) アプリケーション (アプリ B) を実装しました。外部 NFC リーダー (ISO 14443 を使用) で Nexus5 に触れると、完全に機能します。

ただし、Nexus7 (アプリ A を実行) で Nexus5 (アプリ B) に触れると、p2p (Android ビーム) データ交換シーケンスが開始されます。

両方のデバイスで Android ビーム機能をオフにしても、何も変わりません。Nexus7 では「Touched to Beam」画面は表示されませんが、p2p 検出音は再生されます。

LogCat は、Nexus7 が LLCP 接続を確立しようとしていることを示しています。

Nexus7 が、Android ビームではなく、Nexus5 の ISO-14443 HCE の検出に集中することを望んでいます。

NFC 検出の優先度を変更して、Android ビームよりも ISO-14443 を優先するにはどうすればよいですか?

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

nfc - NFC ACR122 TgInitAsTarget、イニシエータ リリース ターゲット

ACR122 (usb) デバイスでパッシブ NFC タグをエミュレートしようとしていますが、通信が正しく行われません。ここで私が間違っていることを誰かが見て、正しい方向に向けてくれることを願っています。

この他の質問ACR122 - Card Emulationに対する回答は、 http: //code.google.com/p/nfcip-java/source/browse/trunk/nfcip-java/doc/ACR122_PN53x.txtのドキュメントを指していましたが、次の場合これは文字通り、期待どおりに動作しません。

テスト用に Samsung Galaxy S3 Android 4.3 デバイスを使用しており、以下の動作が見られます。

TgInitAsTarget コマンドは機能しているようで、「アクティブ モード、DEP、424kbps」を意味する 0x25 のモードを返します。

しかし、「GetData」コマンドはすぐに失敗し、ステータス コード 0x29「ターゲットとして構成された PN532 がイニシエータによって解放されました」が返されます。

TgInitAsTarget コマンドをさまざまなモード (0x00 "All" モードではなく) で変更しようとしましたが、次の GetData コマンドに対してすべてがまだ 0x29 を返す次のことを試しています。

  • モード 0x01「パッシブ」、応答モード 0x04「DEP」
  • モード 0x02 "DEP"、結果として応答モード 0x25 ("All" と同じ)
  • モード 0x03 "DEP Passive" の結果、応答モードは 0x04 "DEP" になります

どのような場合でも、Android が接続を維持していないように見えますが、NFC DEP プロトコルに精通していないため、ここで何が間違っているのかを知ることができません。PN532 チップ リファレンスを読みましたが、すべて正しく行っているようです。

Windows Phone NFC デバイスも試してみましたが、GetData で同じ問題と同じエラー コードが発生します。

NFC に精通している方からの助けをお待ちしております。

デイブ

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

android - KitKat: APDU を SIM にルーティングする方法

NFC リーダーから取得した APDU を SIM カードにルーティングしたいと考えています。HCEのドキュメントによると、対応するルーティングエントリを使用して OffHostApduService を作成するだけで可能だと思いました(私はそうしました)。

残念ながら、SIM は APDU を取得していないようです。SIM が SIM リーダーによってワークステーションに直接接続されている場合に機能する SELECT コマンドは、6a82 (ファイルが見つかりません) を返します。

LogCat で、2 つの興味深い情報を見つけました。

SIM にルーティングする必要がある選択コマンドを実行するたびに、次のエントリが表示されます。

Android OS は、SIM へのルーティングがアクティブで、select などのコマンドが SIM に送信されていることを認識していないはずなので、ルーティングが正しく設定されていない手がかりであると思います。

リーダーの NFC フィールドから電話を取り外すたびに、次のエラーが表示されます。

このエラーの原因を追跡しようとしたところexternal/libnfc-nci/src/nfa/ce/nfa_ce_act.chere、Broadcom NFC ドライバーに属すると思われるファイルが見つかりました。

ドライバーは SIM がアクティブ化されていないと考えているため、アプリケーションが APDU の正しいルーティングを設定できないのが間違いだと思います。コマンドを送信した瞬間に SIM のロックが解除されます (PIN 入力) が、カード リーダーで使用する前に SIM のロックを解除する必要がないため、これが何か関係があるとは思えません。

テストには Nexus 5 を使用します。APDU を CPU ではなく SIM にルーティングできる経験や実際の例を持っている人はいますか?