問題タブ [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 - javacard でのアプレット インストーラまたはアプレット削除マネージャの再実装
インストーラーと削除マネージャーが javacard に既に実装されていることは知っています。しかし、新しいアプレットでそれらを再度実装する方法があるかどうか知りたいですか?
つまり、AID を受信して削除するアプレットを作成する方法はありますか?
smartcard - プロミスキャス AID を使用してアプレットをアップロードした場合の JCRE の反応は?
私たちが知っているように、アプレットの AID の長さは 5 ~ 16 バイトである必要があります。また、無差別な長さ (16 バイトを超えるか 5 バイト未満) のアプレットの場合、コンバーターは機能しません。しかし、これはオフカードの検証者です。
非標準の .cap ファイルに対する JCRE の反応を知りたいです。つまり、AID を変更するために、16 進エディタ ツールを使用して .cap ファイルの内容を変更したいと考えています。
ご覧のとおり、AID は .cap ファイルのヘッダーに保存されます。しかし、ヘッダーはどこですか?.cap ファイルの内容に AID が見つからないだけでなく、同じ AID を持つ 1 つの .java ファイルを変換した 2 つのファイルが異なります。
つまり、.java ファイルを .cap ファイルに 2 回変換すると、結果が異なります。同等のエイズでも!なぜ?
以下に、同じ AID を持つ 1 つのプログラムの 2 つの .cap ファイルの内容を示します。
smartcard - Javacard が単一の javacard プログラムの AID .cap ファイルの異なるアップロードを防止するのはなぜですか?
これは単純な javacard プログラムです (何もしません!):
次のように、AID が異なる 3 つの.capファイルに変換します。
- ファイル A: PkgAID=
0000000000
& AppAID=000000000011
- ファイル B: PkgAID=
0000000000
& AppAID=000000000022
- ファイル C: PkgAID=
000000000011
& AppAID=00000000001111
上記のように、ファイル Aとファイル BはAppAIDのみが異なります。また、ファイル CのPkgAIDは、ファイル A のAppAIDと同じです。
このファイルをNXP JCOP v2.4.2 r3スマート カードにアップロードします。まず、内容を見てみましょう:
はい、SDしかありません。
Step1:ファイル A のインストール:
正常に完了しました。
ステップ 2:ファイル Bのインストール:
インストールに失敗しました。gp -list
コマンドは、以前と同じ結果を返します。
ステップ 3:ファイル Cのインストール:
再インストールに失敗し、gp -list
コマンドは以前と同じ結果を返します。
質問:
1-最初のエラーの原因は? .cap
AID が異なり、PkgAID が等しい 2 つのファイルを 2 つのステップでアップロードすることは違法ですか?
2-セカンドエラーの原因は?それを返します
AID 000000000011 のパッケージは既にカードに存在します
しかし、ありません!これはパッケージ AID ではなく、アプレット AID です。
3-gp はこのアプレットをインストールできませんか、それともエラーの原因は JCRE ですか?
GPツールがインストールを制限していると思ったので、JCManagerも試してみました。結果が違う!
まず、SD 以外のすべてを削除します。
JCManagerを使用して同じ手順を繰り返します。
ステップ 1:ファイル A のインストール:
結果 :
以上のように、GP同様に無事に終了しました
ステップ 2:ファイル Bのインストール:
結果 :
GPのステップ 2 と同じです。
しかし、ステップ 3 を見てください。
ステップ 3:ファイル Cのインストール:
結果 :
あなたは見ましたか?インストールされたアプレットの JCManager が削除されましたが、ファイル C をアップロードできません。
この場合、 GP を使用してファイル Cをインストールしようとしましたが、繰り返しの PkgAID や ... ではなく、新しいエラーを受け取りました。
誰でもこの問題に光を当てることができますか?
エラーの場合に JCManager が返すステータス ワードの意味は何ですか?
繰り返しになりますが、1 回の投稿で複数の質問をしましたが、これらの質問は互いに連鎖していると思います。3 つまたは 4 つの投稿に分割することはできませんでした。
smartcard - 委任された管理権限を持つセキュリティ ドメインと承認された管理の違いは何ですか?
認可された管理権限を持つセキュリティ ドメインと委任された管理権限を持つセキュリティ ドメインの違いを知りたいです。そして、2つの状態(ロード、インストールなど)で操作を行います。このテーマについてグローバル プラットフォーム 2.2.1 を読みました. でも意味は理解できます. 違います. セキュリティ ドメインを作成または作成できる特権はどれですか? また、特典がサポートされているカードを見つけるにはどうすればよいですか?
ありがとう。
smartcard - スマート カードが 2 つの異なるキーを MAC キーとして受け入れるのはなぜですか?
以下に示すように、 gp -listを使用してカードにインストールされているアプレットを一覧表示しようとしました。別のキーを指定します。
2 つの異なるキーで問題なく動作するのはなぜですか?
404142434445464748494A4B4C4D4E4F _
と
404142434445464748494A4B4C4D4E4E _
他のカードやツールを試したことに注意してください!同じ出力。
これは、両方のキーを使用した暗号化の出力が同じであるためですか?
javacard - 長い AID および短い AID アプレットに対する Java カードの奇妙な応答
22 個の等しいアプレットを含むパッケージを作成します (アプレットはプログラムが同じで、AID が異なります)。
パッケージの AID とアプレットの AID を次のように設定すると、すべて問題ありません。(インストールでき、gp -list
コマンドの応答で確認できます)
パッケージエイド = 0102030405
見て :
ここで、アプレットの AID を以下のように変更します (他のすべては以前と同じです)。
パッケージエイド = 0102030405
この場合、ロードしてインストールできます。しかし、インストール済みのアプレットを一覧表示できなくなりました。
どうして?!
アップデート :
デバッグ モード - 短い AID :
デバッグ モード - 長い AID :
別のカードでテスト:
このパッケージを別のカード(別のタイプ)にアップロードしますが、問題ありません。
上記のように、私のパッケージのアプレットのリストは出力に表示されません (私のカードの SD の機能だと思います) が、エラーなく出力されました。
エラーの原因はカードだと思います!いいえ?
この問題は、パッケージに20を超えるアプレットが含まれている場合にのみ発生することに注意してください。
javacard - .cap ファイルの読み込みで DAP 検証を行うには?
.capファイルをインストールしたい。しかし、ファイルのアップロード中にCard Manager にDAP検証を実行してもらいたいのです。何をすればよいでしょうか?デフォルトで DAP をチェックしますか、それともインストール プロセスでいくつかのパラメータを使用する必要がありますか?
私のスマート カードは、Global Platform 2.2.1に準拠したJava Card 3.0.1です。
アプレットの開発にEclipseとJCDKを使用し、アプレットのアップロードにgpとJCManagerを使用しているわけではありません。