我正试图在智能卡上设置PPS。我使用的环境是基于Global脚本。命令描述:
Boolean pps(Number protocol)
Boolean pps(Number protocol, Number f, Number d) 为卡设置物理协议。GP脚本语言通过ISO7816提供对联系人智能卡的支持。其他专有协议可以支持,但依赖于实现GP脚本语言的环境的支持。如果该方法成功执行,则返回一个真正的布尔值。否则,如果参数是有效的,但环境无法对由卡表示的智能卡执行方法,则返回一个假值。如果提供了任何参数协议f或d的无效值(即本规范中未指定的值或环境不支持的值),则使用GPError.INVALID_DATA值生成GPError.INVALID_DATA对象。示例:
// On a card with a contact interface
this.card.pps(Card.T1, myFrequency, myDivisor);
// returns false value if the card doesn’t support T=1 protocol协议
协议参数将包含所需的协议值,该协议值对应于在卡片配置文件中定义为支持的值。联系人卡的有效值(通过ISO7816)为:
Card.T0
Card.T1
Card.T14
如果指定了上述任何值,则还需要f和d参数。对于卡支持的专有协议,可以使用环境支持的唯一协议值,只要它不与为card常量定义的值冲突。以下是表示非标准协议的默认常量:
Card.OTHER
参考ISO7816的国际标准化组织规范。
f -时钟速率转换因子
d -数字波特率调整因子
根据GP平台描述,我对波特率38400的命令如下:
this.card.reset( Card.RESET_COLD );
this.card.pps(Card.T1, 372, 4);我从PPS收到的答复是假的。冷ATR为: 3B680000990200D103042201
问题如下:
ATR:
characters
00 -> Vpp不使用;EEPROM的编程电压是在芯片
中生成的。
发布于 2020-07-23 07:35:27
由于缺乏Javacard经验,部分回答如下:
如果我理解正确,你想设置你的卡,所以它接受PPS.(读取器必须触发它,所以卡片只能指示功能。)
https://stackoverflow.com/questions/63045519
复制相似问题