1

Oracle ( This lint )で以下のスクリプトを見つけてGPShell、Java カードで実行gpj -listしましたが、実行できませんGPJ!

私の質問:

1- このコードは何のためのものですか? Card Domain Manager ステータスを OP_READY から Secured に変更しますか?

2-スクリプトで使用されている APDU がどこにも見つからないのはなぜですか? 80F0800708A000000003000000! セクション内の APDU80F0800F08A000000003000000を検索GP Specification 2.2しました。しかし、私は何も見つかりませんでした!ISO 7814-4F0CLA

3- 以下のスクリプトの操作は、別のスクリプトで元に戻すことができますか?

スクリプト :

mode_211
enable_trace
establish_context
card_connect

select -AID A0000000
open_sc -security 1 -keyind 0 -keyver 0 -mac_key 404142434445464748494a4b4c4d4e4f -enc_key 404142434445464748494a4b4c4d4e4f -kek_key 

404142434445464748494a4b4c4d4e4f
send_apdu -sc 1 -APDU 80F0800708A000000003000000
send_apdu -sc 1 -APDU 80F0800F08A000000003000000
card_disconnect
release_context

そして、これは Console での出力です:

C:\Users\ghasemi\Desktop\GPShell-1.4.4>gpshell lcchange.txt
mode_211
enable_trace
establish_context
card_connect
select -AID a00000
Command --> 00A4040003A00000
Wrapped command --> 00A4040003A00000
Response <-- 6F108408A000000003000000A5049F6501FF9000
open_sc -security 1 -keyind 0 -keyver 0 -mac_key 404142434445464748494a4b4c4d4e4
f -enc_key 404142434445464748494a4b4c4d4e4f -kek_key 404142434445464748494a4b4c4
d4e4f
Command --> 80CA006600
Wrapped command --> 80CA006600
Response <-- 664C734A06072A864886FC6B01600C060A2A864886FC6B02020101630906072A864
886FC6B03640B06092A864886FC6B040215650B06092B8510864864020103660C060A2B060104012
A026E01029000
Command --> 805000000823CE2F4C2B6C689B00
Wrapped command --> 805000000823CE2F4C2B6C689B00
Response <-- 0000116001007F8B0AF9020201D1C94E4F787D75DD54805A7488BCF79000
Command --> 84820100100BCCFE8818D2DFC6E5B48EA4B6892457
Wrapped command --> 84820100100BCCFE8818D2DFC6E5B48EA4B6892457
Response <-- 9000
send_apdu -sc 1 -APDU 80F0800708A000000003000000
Command --> 80F0800708A000000003000000
Wrapped command --> 84F0800710A0000000030000007AA29B3A708E6E75
Response <-- 9000
send_APDU() returns 0x80209000 (9000: Success. No error.)
send_apdu -sc 1 -APDU 80F0800F08A000000003000000
Command --> 80F0800F08A000000003000000
Wrapped command --> 84F0800F10A0000000030000004FCFC15FD7EBDE9A
Response <-- 9000
send_APDU() returns 0x80209000 (9000: Success. No error.)
card_disconnect
release_context

ありがとうございました。

4

1 に答える 1

4

このコードは何のためのものですか?

80 F0 8007 08 A000000003000000

0xF0これは、発行者セキュリティ ドメイン (P1 = 0x80) を INITIALIZED 状態 (P2 = ) に設定するための SET STATUS (INS = ) コマンド0x07です。

80 F0 800F 08 A000000003000000

0xF0これは、発行者セキュリティ ドメイン (P1 = 0x80) を SECURED 状態 (P2 = ) に設定するための SET STATUS (INS = ) コマンド0x0Fです。

スクリプトで使用されている APDU がどこにも見つからないのはなぜですか?

グローバル プラットフォーム カードの仕様を正しく読んでいないことが原因である可能性があります (たとえば、GP カード仕様 2.2.1 のセクション 11.10 を参照してください)。ところで。「F0」 (C-APDU の 2 番目のバイトは CLA ではなく INS です) を検索すると、確かに役に立ちました。

スクリプトの操作は元に戻せますか?

繰り返しますが、実際に仕様を読むと役に立ちます。図 5-1 には、INITIALIZED、SECURED、および TERMINATED 状態への遷移が元に戻せないことを明確に示す優れた状態遷移図があります (セクション 5.1.1 のテキストも同様です)。

于 2014-06-02T18:15:25.997 に答える