APDU gate可以接受特定实现的最大并发量的与其他host连接的pipe。 表54列出了APDU gate的GID。
以下定义的command和event将被发送到这个gate。 12.2.1 Commands
未定义command。 12.2.2 Events
表55中列出了APDU gate支持的event。在12.4章定义了在何种状态下可以发送这些event。
12.2.2.1 EVT_C-APDU
这个事件被client APDU host用来发送需要server APDU host执行的APDU。 这个事件带以下参数。
Command APDU域的长度不能超过registry中定义的长度。 12.2.2.2 EVT_ABORT
一旦接收到这个event,server APDU host将APDU gate的状态置为‘INIT’,并认为(就像)在ETSI TS 102 221接口的输入信号(RST)复位了,即它不能对非接界面或HCI pipe有任何影响。
在处理完这个event后,server APDU host将给client APDU host发送一个EVT_ART事件。
这个事件不带参数。 12.2.2.3 EVT_END_OF_APDU_TRANSACTION
当client APDU host不再请求在server APDU host上有任何活动时,会发送该event。这个event将触发server APDU host上的进入省电模式的序列(power saving sequence)。 12.2.3 Registry
APDU gate提供以下registry。这个registry是保持不变的。
12.3 APDU application gate
以下章节定义除7.2节定义的command和event外,APDU application gate支持的其他command和event。
APDU application gate的GID是host动态分配的。 12.3.1 Commands
未定义commands。 12.3.2 Events
表58列出了APDU application gate支持的events。
12.3.2.1 EVT_R-APDU
这个event由server APDU host在处理接收到的EVT_C-APDU中的APDU后发送。 在server APDU host接收到EVT_C-APDU或发送最后一条EVT_WTX后,应在registry中指定的最大等待时间内回应EVT_R-APDU。
Event参数如下
12.3.2.2 EVT_WTX
当server APDU host在超过APDU gate的registry中指定的最大等待时间后仍在执行APDU,server APDU host将发送该event。如果执行过程仍需要时间,该event可重复发送。
该event不带参数。 12.3.2.3 EVT_ATR
server APDU host用该event告诉client APDU host,server可以执行APDU了。EVT_ATR应在以下事件发生的100ms内发送:
? client APDU host打开pipe; ? 接收到EVT_ABORT;
? server APDU host刚上电,pipe已打开,且8.4章描述的会话初始化结束; 这个event带以下参数:
ATR的编码见ISO/IEC 7816-3。在本规范中,接口字节存在但没有意义。它们仅仅为了识别server APDU host,对其他应用没用。 12.3.3 Registry
未定义registry。
12.4 State diagram for the APDU gate
图19定义在操作过程中APDU gate的状态及转换。
APDU gate接收到其他event和command不会改变它的状态,除了ANY_CLOSE_PIPE,可以在任意状态上接收。
一旦server APDU host上电,如果pipe是已经打开的,初始状态应该是‘INIT’,意味着server APDU host将马上发EVT_ATR来表明它已准备好处理APDU了。
附录A State diagram for contactless reader mode
图A.1描述了状态变化和CLF中reader mode操作相关的event。
jgj222@163.com