据我所知,要打开/关闭逻辑通道,我们必须使用MANAGE CHANNEL
APDU 命令。
- 打开逻辑通道:
00 70 00 P1 P2 LE
- 关闭逻辑通道:
00 70 80 P1 P2 LE
- P1-P2 =
0000
-0003
- LE=
01
(如果 P1-P2=0000
) 或 Empty (如果 P1-P2!=0000
)
. 默认情况下唯一开放的逻辑通道是基本通道。
问题:
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>