問題タブ [apdu]

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

java - Java から EMV スマートカードから PAN を読み取る方法

スマート カード リーダーで Maestro/Mastercard から口座番号を読み取る必要があります。Java 1.6 とその javax.smartcardio パッケージを使用しています。カードのチップに保存されている EMV アプリケーションに PAN 番号を要求する APDU コマンドを送信する必要があります。問題は、必要なデータをどこにでも返す APDU コマンドを構築するための通常のバイト配列が見つからないことです...

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

java - Java カード変換

Java Card アプリを作成しましたが、それを Card にアップロードしたいと考えています。ただし、このカードは Java 2.1.1 標準をサポートしています。そこで、2.2.2 キットで 2.1.1 準拠の CAP ファイルを生成する方法を探しています。

私は持っている:

  • Java 1.6
  • GPSシェル1.4.2
  • Java カード 2.2.2
  • JCOP 30 V2 カード
0 投票する
5 に答える
11541 参照

c# - C# でスマート カードにファイルを書き込む方法

APDU コマンドを受け入れるプロセッサ スマート カードのファイルに書き込みたいと思います。C# またはスマートカード SDK の例を知っていますか?

http://code.google.com/p/pcsc-sharp/を使用した人はいますか?

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

java - BlackberryでのJSR177のサポート

私はAPDU交換を介してSIMアプリケーションと対話しようとしています。APDUを交換するために、Connector.open()APIを介してAPDUConnectionを作成する必要がありましたが、この特定のAPIは、「JSR 177はこのプラットフォームではサポートされていません」というIO例外をスローします。これをテストしているため、これが発生するかどうかはわかりません。シミュレーター、またはBlackberryデバイスでもサポートされていないかどうか。

知りたいのですが、BlackberryのSIMアプリとのやり取りに成功した人はいますか?はいの場合、それを行う方法は何ですか?JSR 177を実装できる場合に備えて、Blackberry SDKに拡張機能を追加することはできますか?SDKを拡張してそのような拡張機能を含めるにはどうすればよいですか?皆さんからのご意見に心から感謝いたします。前もって感謝します。

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

java - スマートカードの開発

APDU を使用してスマート カードに送信し、アプリケーションをインストールまたはロードまたは削除するために、コンピューターから cap ファイルを抽出し、ブロックに分割する方法に関する「java」ソース コードが必要です。前もって感謝します。

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

mobile - セキュア エレメントと Web サーバーにアクセスするための携帯電話のバックグラウンド タスク

GSM 携帯電話 OS (例: Android、Win Mo、Symbian など) で、ある種のバックグラウンド タスクまたはアプリケーションが Web サーバーおよびモバイルのセキュア エレメントと同時にデータを交換できるようにすることは可能ですか?

モバイルの IHM をアクティブ化せずに、Web サーバーが APDU をセキュア エレメント (取得応答 APDU) にプッシュできるようにするための目的。

注: セキュア エレメントが GSM ベースバンドを管理している場合、たとえばUlysse仕様で説明されているように BIP を使用している場合に、これが可能であることはわかっています。私の質問は、別の安全な要素 (microSD の Java カードなど) を使用する場合のみです。

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

smartcard - スマートカードの内容を編集するにはどうすればよいですか?

スマートカードの内容を編集する方法を教えてください。
コンテンツを編集するには、APDUコマンドをどのように使用する必要がありますか?

スマートカードに次のようなものがあるとしましょう。

そして私はそれをしたい:

どうやってやるの?出来ますか?はいの場合、どのように?

私は持っていますACR-122 NFC READER/writer

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

java - apduToolTask​​ が見つかりません

私は Java カード プラットフォームを初めて使用し、現在 Java カード クラシック エディション v 3.0.1 を使用しています。Apache ANT コマンド - ant allを使用して build.xml ファイルを作成すると、次のエラーが発生します。

c:\java\java_card_kit-2_2_2\samples\build.xml:17: taskdef クラス com.sun.javacard.ant.tasks.APDUToolTask​​ が見つかりません

ANTのシステムパスもセットアップするように求められるところまで、すでに指示に従っています。ANT 1.8.1 を使用しています。

誰か助けてください。

よろしく、

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

smartcard - SFI を介してスマート カードの EF を選択する

一部のスマート カードには、5 ビットの数値である SFI (短いファイル識別子) でファイルを参照するオプションがあります。対照的に、典型的なファイル識別子の長さは 2 バイトです。

ISO 7816-4内で答えを見つけることができなかったため、その方法を理解するのに助けが必要です。

まず、セクション 5.3.1.1の状態 (強調鉱山)

短い EF 識別子による選択 — 短い EF 識別子は、任意の EF を参照できます。すべてが等しくない 5 ビット、つまり 1 から 30 までの任意の数で構成されます。短い EF 識別子として使用される場合、数字のゼロ、つまり 2 進数の 00000 は現在の EF を参照します。MF レベルでは、数値 30、つまり 2 進数で 11110 が予約されています (8.2.1.1 を参照)。短い EF 識別子は、パスまたは EF 識別子として (たとえば、SELECT コマンドで) 使用することはできません。

この文を解釈する私の方法は、「SFI を使用してスマート カード上のファイルを選択することはできません」です。これは、私が期待するものではありません。

さらに、セクション 7.1.1では、SELECT APDU コマンドの使用方法が規定されています。表 39 は、P1 の内容を示しています。ただし、SFI を介してアドレス指定する方法を示す例はありません (それらはすべて約 2 バイトの識別子です)。

だから私の質問は:

  1. SFI を追加する理由は何ですか? 識別子ごとに 2 バイトは多すぎますか?
  2. SFI がわかっている場合、ファイルをどのように選択できますか?
0 投票する
1 に答える
2104 参照

c# - Select AID コマンドが機能しない

C# を使用して EMV カードを読み取るアプリケーションに取り組んでいます。私は Winscard.dll を使用しています。そして、私は接続を確立しました-リーダーを選択しました-カードに接続してATRを取得します。しかし、AIDリストを使用してコマンドSlecetdアプリケーションを送信すると、データを受信しませんでした。SW1SW2を61XX(XXはデータの長さ)として受信することを期待していました。コマンドを00A4040007A0000000031010として送信しました。

コードは次のとおりです。

//==================================== public void ScardTransmit() { SCARD_IO_REQUEST ioRecv = 新しい SCARD_IO_REQUEST (); バイト[] pbRecvBuffer = 新しいバイト[255]; int pcbRecvLength = 255; バイト[] pbsendBuffer = this.GetSendBuffer();

}