問題タブ [globalplatform]
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.
smartcard - JCOP アプレットのアップロードに関するリーダーの問題
私はかなり長い間、SCM SDI 010 Reader と組み合わせて JCOP Tools をうまく使用してきました。今カード リーダーを変更しようとしたとき、他のリーダー (SCM SCL 011 など) では、アップロード コマンドが応答 6D00 で失敗したことに気付きました (ロード用の GP インストール)。
=> 80 E6 02 00 13 06 64 65 2E 62 64 72 08 A0 00 00 01 51 00 00 00 00 00 00 00 (29683 秒)
<= 6D 00
ステータス: INS 値はサポートされていません
私は多くのことを試みましたが、成功しませんでした。
何か案は?
javacard - MUTUAL AUTHENTICATION failed in EMV card
I am trying to send a STORE DATA command to my EMV card to store DGI values. I've got a document that describes the APDU command to install and personalize EMV application on JCOP 2.4.1 Revision 3.
In the document, the sequence of commands is:
Line written in this Document is:
the key value of issuer security domain(encryption, MAC,and key encryption key): 404142434445464748494a4b4c4d4e4f. and the value of sequence counter is 0.
I just downloaded GPSHELL 1.4.4 and try to run following script:-
however my output is:
Why does the authentication fail? To send the STORE command I need to passed authentication. How can I pass authentication?
smartcard - SELECT APDU コマンドを受信した後の JCRE の動作
私の知る限り、JCREがSELECT APDU コマンドを受信すると、まず、コマンドが示すAIDをレジストリ テーブルで検索します。レジストリ テーブルに AID が見つからない場合は、 が返されます6A82
。しかし、JCREがそれを見つけた場合deselect()
は、選択されたアプレットのメソッドを呼び出し、 を受け取った後、要求されたアプレットのメソッドをTrue
呼び出しselect()
ます。そのメソッドから を受け取った場合True
、そのアプレットを選択済みとしてマークします。
私の質問:
1- JCREがそのメソッドを呼び出したFalse
ときに、最初のアプレット (Currently Selected Applet) が戻ってきたらどうなりますか? アプレットは残っていますか? deselect()
Selected
2- JCREがそのメソッドを呼び出したFalse
ときに2 番目のアプレット (要求されたアプレット) が返された場合はどうなりますか?この場合、どのアプレットが選択されますか? デフォルトはセキュリティドメインですか?select()
javacard - JAVACARD2.2 の selectionApplet() メソッドの機能は何ですか?
ここのJavaCard 2.2 API ドキュメントに記載されているように、このアプレットを選択したSELECT APDU コマンドを、ファイルまたは内部アプレットの状態選択に関連する可能性のある他のすべてのSELECT APDU コマンドから区別するためにselectingApplet()
アプレット メソッドによって使用されるメソッドであり、 true を返します。このアプレットが選択されている場合。process()
私の質問は、なぜこの方法が必要なのですか? さらに一般的なこと:選択したアプレットが SELECT アプレット コマンドを受信する必要があるのはなぜですか? SELECTアプレット APDU を知る必要がある唯一のエンティティは JCREだと思います。
以下のシナリオを提案します:
- JCREがCADから APDU コマンドを受信
- SELECT APDU コマンドかどうかを確認します。
- SELECT APDU コマンドでない場合は、受信した APDU を
process()
選択したアプレットのメソッドに送信します。選択されたアプレットはそれを解釈して実行します(スイッチと if 式を使用し、selectingApplet()
メソッドを使用する必要はありません) - SELECT APDU コマンドの場合は、コマンドのデータ フィールドの長さをチェックして、それがSELECTファイルであるか、またはSELECT アプレットであるかを確認します。
- SELECT Fileコマンドの場合、JCREは
process()
選択されたアプレットのメソッドに再度送信します。ただし、SELECT アプレットコマンドの場合、JCREdeselet()
は現在選択されているアプレットのメソッドを呼び出してselect()
から、新しく要求されたアプレットのメソッドを呼び出します。を受信した後True
、それを選択して次の APDU コマンドを待機します (さらに、この新しく選択されたアプレットのメソッドに前のSELECT-Applet
APDU コマンドを送信する必要はありません)。process()
上記の実装の何が問題になっていますか? JC 2.2 の現在の実装の利点は何ですか (すべての受信 APDU をprocess()
現在選択されているアプレットのメソッドに送信し、異なるSELECTコマンドをselectingApplet()
区別します)
現在の実装は脆弱性を提供していると思います! プログラマがアプレットを、そのprocess()
メソッドが受信したすべてのAPDUをEEPROMに書き込むように実装すると、カードにインストールされている他のアプレットの AID を取得できます。これは正しいですか?
smartcard - JCOP のセキュリティ ドメインの AID と「Card Not Fused」または「Not Pre-Personalized」の意味
ここからJCOP Mangerという名前のソフトウェアをダウンロードして、CJ3A080 jcop Java カードを処理します。
それは私のカードを正しく認識します。しかし、アプレットをインストールまたはリストすることはできません! なぜ?
このソフトウェアの出力:
CardTool (APDU をカードに送信するために使用するソフトウェア) を使用して ISD を選択しようとしましたが、以下に示すように、カードに見つからない一般的な AID はありません。
CardToolの出力形式は以下のとおりです。
したがって、これはCardToolの出力です:
gp.exeツールも試してみました。これがその出力です。
質問は次のとおりです。
- 1-これはどういう意味ですか? 「融合されていない(事前にパーソナライズされていない)」
- 2- どのようにカスタマイズできますか?
- 3- カードが融合したかどうかをどのように確認できますか?
- 4- セキュリティ ドメインの AID とは?
これらは互いに密接に関連しているため、これら4つの質問すべてを1つのトピックで質問しました
smartcard - GPShell を使用して JCOP カードのアプレットを一覧表示する
JCOP スマートカード ( CJ3A080 ) を持っています。カード上のデフォルトのアプレットを一覧表示したかったので、GPShell の最新バージョン (1.4.4) をダウンロードして、という名前のスクリプトを実行しますlistjcop10.txt
。しかし、それは失敗しました。これはスクリプトの内容です:
listjcop10.txt :
そして、これは GPSShell の出力です:
問題の原因を知っている人はいますか?
このカードは私がここで言及したのと同じカードであることに注意してください