普通Java Card applet和Tookit applet的区别是,后者不直接处理APDU. 它只处理高层级的消息(事件)。
另外,后者一个方法(java method)的执行,能够跨越多个APDU(Fetch, Terminal Resposne等主动命令)。
并且,Tookiet applet 的触发,不会调用 select()方法,只会调用processTookit()
EVENT_EVENT_DOWNLOAD_CALL_DISCONNECTED EVENT_EVENT_DOWNLOAD_LOCATION_STATUS EVENT_EVENT_DOWNLOAD_DATA_AVAILABLE EVENT_EVENT_DOWNLOAD_ACCESS_TECHNOLOGY_CHANGE EVENT_UNRECOGNIZED_ENVELOPE
Java Card Tookit相关对象
1. ProactiveHandler
1) 在 Terminal Profile 命令被CAT运行环境处理之前, ProactiveHandler对象不可用。
2) 如果 ProactiveHandler对象 可用,它将一直保持可用,直到processToolkit()方法结束
3)ProactiveHandler不可用, 主动命令将被挂起
4) 调用 proHdlr.init()方法,将会清除 主动命令的内容,然后再初始化
- EnvelopeHandler
1) 在 processToolkit()方法的调用 到结束的过程中,如果 EnvelopeHandler 可用,将在整个过程中保持可用。
2) 它的TLV列表,是用 ENVELOPE 命令的APDU里的简单TLV数据对象填充的,并且保持原有的顺序。