平台到平台APDU通道仅应在逻辑通道0上建立,并且当平台到平台安全通道处于活动状态时,UICC应当拒绝任何其他逻辑通道上的APDU。 加密的APDU净荷中应该可以使用逻辑信道。
同时,“应用程序对应用程序-APDU安全”通道无法保护主动命令(根据标准在逻辑通道0上发送),因为它只能保护非0逻辑通道,即除逻辑通道0之外的任何逻辑通道。
Secure Element 的访问不能使用 逻辑通道0, 因为这是给电信应用(sim/usim app)使用的
CAT会话,起始于 TERMINAL PPROFILE命令,终止于 卡的复位/去激活
在开始CAT会话时, 卡执行下面的行为:
1. 它由任意一个注册了 TERMINAL PROFILE事件的 applet的触发。
2. 如果至少有一个菜单项目注册,并被一个可选中的Toolkit Applet启用, 它就发送一个 SET UP MENU 主动命令。
3. 如果至少一个EVENT_EVENT_DOWNLOAD_*被注册,它 发送 SET UP EVENT LIST主动命令
4. 如果至少有一个applet请求轮询 interval duration, 那么,他就发送 POLL INTERVAL主动命令。 这会让ME调整 空闲时 发送STATUS命令的间隔。
Toolkit Applet 比 普通Applet多了一些功能, 也就是实现了 uicc.toolkit.ToolkitInterface的一些接口。必须实现processToolkit()方法
当sim卡收到一个APDU时, 转换器 将 它转换成 对应的事件。
触发器(Triggering Entity)向 Toolkit Registry是否有Toolkit Applet注册到这个事件,然后通过调用 ToolkitInterface对象的processToolkit()方法来 触发所有注册了该事件的Toolkit Applets.
在普通applet和Toolkit Applet之间的区别是Tookit Applet不直接处理APDU
select()方法也不会启动。 因为 Toolkit Applet自己不会被选择。
实际上,
1. CAT运行环境,调用Toolkit Applet的getShareableInterfaceObject()方法
来 取得 ToolkitInterface对象的引用。
在Toolkit Applet的第1次触发前,调用此方法。
getShareableInterfaceObject()的AID参数被设置为null, 字节参数被设置为 1
2.CAT运行环境,调用 ToolkitInterface对象的processToolkit() 来触发Applet
在Applet被触发时,如果EnvelopeHandler可用,用它来获取事件的细节。
如果 ProactiveHandler 可用,它可以请求CAT运行环境去发送几个主动命令,并通过ProactiveHandler来分析 UE(Terminall Response)响应。
对于某些特定的事件,EnvelopeResponseHandler也可用来传输applet对终端命令的响应。