apdu - 如何编写 TLV[TAG_MAX_ATTEMPTS]?
问题描述
我正在使用带有 JCOP 4.7 Java 小程序的智能卡。我想创建一个身份验证对象,例如 UserID。writeUserID 命令具有以下参数:CLA、INS、P1、P2、Lc、TLV[TAG_POLICY]、TLV[TAG_MAX_ATTEMPTS]、TLV[TAG_1]、TLV[TAG_2]。
我知道 TLV 接受 TAG、LENGTH 和 VALUE 参数。我的问题是,如果我想将我正在创建的 USERID 的最大尝试次数设置为 3,如何获取 TLV[TAG_MAX_ATTEMPTS] 的字节?
[TAG_MAX_ATTEMPTS] 的值为 0x12,applet 描述文档说它需要 2 字节的最大尝试次数。在这种情况下,TLV[TAG_MAX_ATTEMPTS] 的 APDU 字节是多少?
例如:我知道 TLV[TAG_1] 是一个 4 字节的对象标识符,那么它对应的字节将是“41047FFF0001”,其中“41”是 [TAG_1] 的值,“04”是长度,“7FFF0001”是 4-字节对象标识符。
根据我的理解,我给出“12020003”,其中“12”是 [TAG_MAX_ATTEMPTS] 的值,“02”长度和“0003”2 字节值。
当我在我的 APDU 中传递这个值时,我收到一个错误“6985”,这意味着条件不满足。
有人可以告诉我我哪里出错了吗?
解决方案
推荐阅读
- centos7 - 如何在 centos 7 上运行 .sln 文件
- java - 如何获取找到该单词的行号?
- python - 为什么同一类的不同对象显示相似的结果?出路是什么?
- javascript - React Native:如何将屏幕更改/导航为子组件?
- azure - 由于 netcore 3.1.4 安全补丁导致 Azure 出错
- sling - 如何在 Apache Sling 或 Jackrabbit Oak 中进行用户模拟?
- linux - 如何使用并行命令调整多个 png 文件的大小并保留源文件中的部分名称?
- python - 如何使用文件夹中的 pandas 读取任何 excel 文件?
- postman - 在 Postman 中创建 AES 加密的标头值
- reactjs - React Material UI 响应式 Appbar