私の知る限り、論理チャネルを開閉するには、MANAGE CHANNEL
APDU コマンドを使用する必要があります。
- 論理チャネルを開きます :
00 70 00 P1 P2 LE
- 論理チャネルを閉じます :
00 70 80 P1 P2 LE
- P1-P2 =
0000
-0003
- LE=
01
(P1-P2= の場合0000
) または空 (P1-P2!= の場合0000
)
. また、デフォルトで開いている唯一の論理チャネルは Basic チャネルです。
質問:
1-閉じた論理チャネルを介してSELECT APDUを送信すると、自動的に開くのはなぜですか?
2-論理チャネルのオープン/クローズ コマンド (MANAGE CHANNEL) を使用する必要がある/使用する必要があるのはいつですか?
これはOpensc-toolの出力です。ご覧のとおり、論理チャネル 1 と 2 を介して、前に開くことなく、 SELECTおよびGET RESPONSEコマンドと応答を正常に送受信できます。
論理チャネル 1:
C:\>cd E:\OpenSC\tools
E:\OpenSC\tools>opensc-tool -s 01A40400 -s 01C0000012
Using reader with a card: ACS CCID USB Reader 0
Sending: 01 A4 04 00
Received (SW1=0x90, SW2=0x00)
Sending: 01 C0 00 00 12
Received (SW1=0x90, SW2=0x00):
6F 10 84 08 A0 00 00 00 03 00 00 00 A5 04 9F 65 o..............e
01 FF ..
論理チャネル 2:
E:\OpenSC\tools>opensc-tool -s 02A40400 -s 02C0000012
Using reader with a card: ACS CCID USB Reader 0
Sending: 02 A4 04 00
Received (SW1=0x90, SW2=0x00)
Sending: 02 C0 00 00 12
Received (SW1=0x90, SW2=0x00):
6F 10 84 08 A0 00 00 00 03 00 00 00 A5 04 9F 65 o..............e
01 FF ..
E:\OpenSC\tools>