第9章节:协议及参数选择(译自ISO7816-3)
9 协议及参数选择
9.1 PPS交换
PPS 交换应按照 6.3.1 的规定开始。 字符帧应按照 7.1 和 7.2 中的规定,使用 TS 固定的编码约定(见 8.1),其中 GT 按照 8.3 中的规定,WT = 9 600 etu。 对于提供 T=0 的卡片,必须按照 7.3 的错误信号和字符重复; 它对于接口设备和其他卡是可选的。
仅允许接口设备启动 PPS 交换。
- 接口设备应向卡发送 PPS 请求。
- 如果卡接收到错误的 PPS 请求,则不应发送任何响应。
- 如果卡接收到正确的 PPS 请求,它将发送一个 PPS 响应(如果已实现),否则将超出 WT。
- 在以下三种情况下:WT 溢出、错误的 PPS 响应、不成功的 PPS 交换,接口设备将执行去激活。
9.2 PPS 请求和响应
PPS 请求和 PPS 响应均由初始字节 PPSS 和格式字节 PPS0、三个可选参数字节 PPS1、PPS2、PPS3 和作为最后一个字节的校验字节 PCK 组成。
- PPSS 标识 PPS 请求或响应并设置为“FF”。
- 在 PPS0 中,设置为 1 的每个位 5、6 或 7 分别表示存在可选字节 PPS1、PPS2、PPS3。 位 4 到 1 对类型 T 进行编码以提出传输协议。 第 8 位保留供将来使用,应设置为 0。
- PPS1 允许接口设备向卡建议 F 和 D 的值。 以与 TA1 相同的方式编码,这些值应分别从 Fd 到 Fi 和从 Dd 到 Di。 如果接口设备不传输 PPS1,则建议继续使用 Fd 和 Dd。 卡要么通过回显 PPS1 来确认这两个值(然后这些值变为 Fn 和 Dn),要么不传输 PPS1 以继续 Fd 和 Dd(然后 Fn = 372 和 Dn = 1)。
- PPS2 允许接口设备建议使用 SPU。 PPS2 应以与 T=15 的第一个 TB 相同的方式编码。 如果接口设备不传输 PPS2,或者如果它传输 PPS2 = '00',它建议不使用 SPU。
- PPS3 保留供将来使用。
- PPSS 到 PCK 的所有字节异或运算应给出'00'。 任何其他值均无效。
图 16 显示了 PPS 请求和响应的结构。
![](https://i.loli.net/2021/11/23/Jn9IZla4RVLjroW.png)
根据定义,PPS 请求或响应在传送 PCK 的字符的前缘之后 12 个 etu 完成。
9.3 成功的 PPS 交换
当且仅当 PPS 响应处于与 PPS 请求相关的以下条件时,PPS 交换才成功。
- PPS0_Response 的第 1 至 4 位应与 PPS0_Request 的第 1 至 4 位相同。
- PPS0_Response 的第 5 位应与 PPS0_Request 的第 5 位相同或设置为 0。
- 如果第 5 位设置为 1,PPS1_Response 应与 PPS1_Request 相同。
- 如果第 5 位设置为 0,则应不存在 PPS1_Response,这意味着应使用 Fd 和 Dd。
- PPS0_Response 的第 6 位应与 PPS0_Request 的第 6 位相同或设置为 0。
- 如果第 6 位设置为 1,PPS2_Response 应与 PPS2_Request 相同。
- 如果第 6 位设置为 0,则应不存在 PPS2_Response,这意味着该卡不使用 SPU。
- PPS0_Response 的第 7 位应与 PPS0_Request 的第 7 位相同或设置为 0。
- 如果第 7 位设置为 1,PPS3_Response 应与 PPS3_Request 相同。
- 如果第 7 位设置为 0,则应不存在 PPS3_Response(确切含义留待将来使用)。
在最常见的情况下,PPS 响应与 PPS 请求相同。