2

Gemalto Top DL v2 Java カードを持っています。内容をlist見ると、カードにたくさんのパッケージがロードされています。

GlobalPlatformPro:> gp -visa2 -key 47454D5850524553534F53414D504C45 -list
AID: A000000018434D00 (|.....CM.|)
     ISD OP_READY: Security Domain, Card lock, Card terminate, Default selected, CVM (PIN) management

AID: A0000000620001 (|....b..|)
     ExM LOADED: (none)

AID: A0000000620002 (|....b..|)
     ExM LOADED: (none)

AID: A0000000620003 (|....b..|)
     ExM LOADED: (none)

AID: A0000000620101 (|....b..|)
     ExM LOADED: (none)

AID: A000000062010101 (|....b...|)
     ExM LOADED: (none)

AID: A0000000620102 (|....b..|)
     ExM LOADED: (none)

AID: A0000000620201 (|....b..|)
     ExM LOADED: (none)

AID: A0000000030000 (|.......|)
     ExM LOADED: (none)

AID: A000000018100201 (|........|)
     ExM LOADED: (none)

AID: A000000018100101 (|........|)
     ExM LOADED: (none)
     A000000018534441 (|.....SDA|)

AID: A00000015100 (|....Q.|)
     ExM LOADED: (none)

ここで、未使用のパッケージを削除します。

GlobalPlatformPro:> gp -visa2 -key 47454D5850524553534F53414D504C45 -delete A0000000620001 -deletedeps
Could not delete AID: A0000000620001
TIP: Maybe try with --deletedeps
openkms.gp.GPException: Deletion failed SW: 6985
        at openkms.gp.GlobalPlatform.check(GlobalPlatform.java:1039)
        at openkms.gp.GlobalPlatform.deleteAID(GlobalPlatform.java:814)
        at openkms.gp.GPTool.main(GPTool.java:367)

GlobalPlatformPro:> gp -visa2 -key 47454D5850524553534F53414D504C45 -delete A0000000620002 -deletedeps
Could not delete AID: A0000000620002
TIP: Maybe try with --deletedeps
openkms.gp.GPException: Deletion failed SW: 6985
        at openkms.gp.GlobalPlatform.check(GlobalPlatform.java:1039)
        at openkms.gp.GlobalPlatform.deleteAID(GlobalPlatform.java:814)
        at openkms.gp.GPTool.main(GPTool.java:367)

GlobalPlatformPro:> gp -visa2 -key 47454D5850524553534F53414D504C45 -delete A0000000620003 -deletedeps
Could not delete AID: A0000000620003
TIP: Maybe try with --deletedeps
openkms.gp.GPException: Deletion failed SW: 6985
        at openkms.gp.GlobalPlatform.check(GlobalPlatform.java:1039)
        at openkms.gp.GlobalPlatform.deleteAID(GlobalPlatform.java:814)
        at openkms.gp.GPTool.main(GPTool.java:367)

GlobalPlatformPro:> gp -visa2 -key 47454D5850524553534F53414D504C45 -delete A0000000620101 -deletedeps
Could not delete AID: A0000000620101
TIP: Maybe try with --deletedeps
openkms.gp.GPException: Deletion failed SW: 6985
        at openkms.gp.GlobalPlatform.check(GlobalPlatform.java:1039)
        at openkms.gp.GlobalPlatform.deleteAID(GlobalPlatform.java:814)
        at openkms.gp.GPTool.main(GPTool.java:367)

GlobalPlatformPro:> gp -visa2 -key 47454D5850524553534F53414D504C45 -delete A000000062010101 -deletedeps
Could not delete AID: A000000062010101
TIP: Maybe try with --deletedeps
openkms.gp.GPException: Deletion failed SW: 6985
        at openkms.gp.GlobalPlatform.check(GlobalPlatform.java:1039)
        at openkms.gp.GlobalPlatform.deleteAID(GlobalPlatform.java:814)
        at openkms.gp.GPTool.main(GPTool.java:367)

GlobalPlatformPro:> gp -visa2 -key 47454D5850524553534F53414D504C45 -delete A0000000620102 -deletedeps
Could not delete AID: A0000000620102
TIP: Maybe try with --deletedeps
openkms.gp.GPException: Deletion failed SW: 6985
        at openkms.gp.GlobalPlatform.check(GlobalPlatform.java:1039)
        at openkms.gp.GlobalPlatform.deleteAID(GlobalPlatform.java:814)
        at openkms.gp.GPTool.main(GPTool.java:367)

GlobalPlatformPro:> gp -visa2 -key 47454D5850524553534F53414D504C45 -delete  A0000000620201 -deletedeps
Could not delete AID: A0000000620201
TIP: Maybe try with --deletedeps
openkms.gp.GPException: Deletion failed SW: 6985
        at openkms.gp.GlobalPlatform.check(GlobalPlatform.java:1039)
        at openkms.gp.GlobalPlatform.deleteAID(GlobalPlatform.java:814)
        at openkms.gp.GPTool.main(GPTool.java:367)

GlobalPlatformPro:> gp -visa2 -key 47454D5850524553534F53414D504C45 -delete  A0000000030000 -deletedeps
Could not delete AID: A0000000030000
TIP: Maybe try with --deletedeps
openkms.gp.GPException: Deletion failed SW: 6985
        at openkms.gp.GlobalPlatform.check(GlobalPlatform.java:1039)
        at openkms.gp.GlobalPlatform.deleteAID(GlobalPlatform.java:814)
        at openkms.gp.GPTool.main(GPTool.java:367)

GlobalPlatformPro:> gp -visa2 -key 47454D5850524553534F53414D504C45 -delete  A000000018100201 -deletedeps
Could not delete AID: A000000018100201
TIP: Maybe try with --deletedeps
openkms.gp.GPException: Deletion failed SW: 6985
        at openkms.gp.GlobalPlatform.check(GlobalPlatform.java:1039)
        at openkms.gp.GlobalPlatform.deleteAID(GlobalPlatform.java:814)
        at openkms.gp.GPTool.main(GPTool.java:367)

GlobalPlatformPro:> gp -visa2 -key 47454D5850524553534F53414D504C45 -delete  A000000018100101 -deletedeps
Could not delete AID: A000000018100101
TIP: Maybe try with --deletedeps
openkms.gp.GPException: Deletion failed SW: 6985
        at openkms.gp.GlobalPlatform.check(GlobalPlatform.java:1039)
        at openkms.gp.GlobalPlatform.deleteAID(GlobalPlatform.java:814)
        at openkms.gp.GPTool.main(GPTool.java:367)

GlobalPlatformPro:> gp -visa2 -key 47454D5850524553534F53414D504C45 -delete  A00000015100 -deletedeps
Could not delete AID: A00000015100
TIP: Maybe try with --deletedeps
openkms.gp.GPException: Deletion failed SW: 6985
        at openkms.gp.GlobalPlatform.check(GlobalPlatform.java:1039)
        at openkms.gp.GlobalPlatform.deleteAID(GlobalPlatform.java:814)
        at openkms.gp.GPTool.main(GPTool.java:367)

問題は、それらを削除してカードのメモリを解放できないのはなぜですか?

4

1 に答える 1

6

答え

これらのパッケージが未使用であることをどのように確認できますか? アプレットは、個別のライブラリやサービスを使用するように設計されている可能性があります。これらのライブラリ/サービスは GP 内に独自の AID を持っていますが、それらを削除する前に、最初にすべてのアプレット インスタンスとアプレット モジュールをこの順序で削除する必要があります。

多くのカードには、ROM にプリインストールされたソフトウェアが含まれています。ROM マスク内のスペースは、他の目的で再利用することはできません。これらのモジュールを削除しても、多くのリソースは解放されません。削除が成功した場合、基本的にレジストリから AID を削除しただけです。これは、同じライブラリの新しいバージョンをアップロードする場合に役立ちますが、そうでない場合は大きな違いはありません。

AIDとRIDの説明

AID は 2 つの部分で構成されています。5 バイトの RID と、エンティティを識別する RID への可変サイズの拡張子 (PIX と呼ばれる) です。このエンティティはアプリケーション DF だけにありますが、Java Card モジュールの場合は AID によっても識別されます。

これで、RID のリストを取得できたので、次のようにします。

  • A000000018434D00セキュリティ ドメインは Gemplus (現在の Gemalto) のものです。
  • A0000000620001A0000000620002A0000000620003A0000000620101A000000062010101A0000000620102A0000000620201すべて Sun (現在の Oracle) モジュールです。基本的な Java Card ランタイムの拡張機能が含まれています。
  • A0000000030000古い VISA RID の下のカード マネージャーです。
  • A000000018100201A000000018100101Gemalto の拡張モジュールまたはアプレットです。
  • A00000015100グローバル プラットフォーム AID のカード マネージャーです。

A0000000030000AID は段階的に廃止されています。VISA は Open Platform (現在は Global Platform) の創設者です。GP は独自の RID を使用することになっています。

ノート:

  • ライブラリは単なるコードと定数であり、サービスにはオブジェクト共有メカニズムを通じて使用できる状態が含まれます。
  • 当然のことですが、特定のカードについては、ベンダーに連絡して構成方法を確認することをお勧めします。
于 2016-01-16T16:56:42.213 に答える