2

Nexus 4、Nexus 5、Samsung Galaxy S4 携帯電話で Android Java アプリケーションをテストしました。テストでは、リーダーは長さが最大 ​​252 バイトまで変化する APDU を送信します。Nexus 電話機は APDU を正常に受信します。一方、Galaxy S4 電話は、128 バイトを超える APDU を受信できません。送信者の 252 バイトの最初の 128 バイトのみを受信します。

デバイスの受信可能な最大 APDU サイズを確認するにはどうすればよいですか?

4

3 に答える 3

1

Galaxy s4が実際に252バイトを受け取ることがわかりました。ただし、2 つの連続したチャンクで。128 バイトを超える apdus の場合、processCommandApdu 関数を 2 回入力します。

于 2014-05-26T07:21:47.303 に答える
1

現在、受信可能な APDU の最大長を見つける方法はありません (試行錯誤を除く)。

受信可能な APDU の最大長に関しては、未解決の AOSP バグ レポートがあります ( #69233 )。このレポートは、次のことを説明しています。

  1. Nexus 5 は、全体の長さが 255 バイトのコマンド APDU を受信できます。したがって、ケース 3 の APDU は最大 250 のペイロード バイトを持つことができます。

  2. Galaxy S4 は、全長 252 バイトのコマンド APDU を受信できます。したがって、ケース 3 の APDU は最大 247 のペイロード バイトを持つことができます。

于 2014-05-23T14:46:12.260 に答える
0

私はGalaxy S4を自分で持っており、mitは最大255バイトのapdusを送受信できます。extendedAPDU は試していませんが、同様に機能するはずです。

おそらく、リーダー (Samsung Galaxy S4 とカード) の組み合わせに関連する問題です。異なるメーカーのカードは異なる動作をします (ISO14443 標準内)。IMHO Samsung Galaxy S4 は、一部のカードに十分なエネルギーを提供しません (Galaxy S4 でこれを経験しました)。

他のトランスポンダを使用する以外に、これについてできることは何もありません。

于 2014-05-23T14:40:34.497 に答える