JavaCard 中的类字节到底是什么?

2023-12-21

我已经开始使用 JavaCards 并试图掌握 CLA 字节的含义。

如果要读RFC 5.4.1 类字节 http://www.cardwerk.com/smartcards/smartcard_standard_ISO7816-4_5_basic_organizations.aspx#table8

5.4.1 类字节

根据与表 9 结合使用的表 8,类别字节 命令的 CLA 用于指示命令和响应在多大程度上符合 ISO/IEC 7816 的本部分以及适用时(参见表 9)、安全消息传递的格式和逻辑通道号。

那么... CLA 标志用于指示,但具体是什么?因为,表格和描述对于初学者来说相当困难,我知道通常使用下一个 CLA 字节:0x00, 0x80, 0x84.

例如如果从表中读取内容:

  • 0X' 根据 ISO/IEC 7816 本部分的命令和响应的结构和编码('X' 的编码见表 9)

  • 10 至 7F RFU

  • 保留给PTS

我明白为了良好的发展 - 我应该阅读GlobalPlatform规格,有关确切卡的规格(我的是NXP one https://smartcard-atr.appspot.com/parse?ATR=3B8880014A434F50763234315E)和其他相关材料,但我承认,这些内容很难理解。

我期望以下内容(伪表):

  • 0x00 -> 用于从文件系统读取流
  • 0x01 -> 用于将字节缓冲区写入内存块
  • 0x02 -> 调用 AES/RSA 方法

CLASS 字节在 ISO 7816-4 中定义。第一位表示行业间类别。 Java Card 小程序应按照该行业间标准运行。 Global Platform 是管理和维护卡的另一个规范,所有命令都将具有类字节 0x80 - 0x8F。类字节 0xFF 在某些情况下用于与读卡器通信,否则对卡无效。

CLA 的行业间含义有 3 个主要功能:

功能1:链接
bit5 = 1 表示当前命令不是链中的最后一个命令,这意味着多个 APDU 都属于一起,因此卡可以执行其他操作

功能 2:安全消息传递
位 4+3 用于表示当前命令的安全消息传送状态。这意味着 APDU 已通过身份验证(例如 MACed)并且数据已加密(例如分组密码)。命令头从未加密。

功能3:逻辑通道
bit2+1用于标识逻辑通道号。逻辑通道是通过卡的并行通信接口,因此可以在通道 0 上选择小程序 A,在通道 1 上选择小程序 B,同时两个小程序都保持其内部状态(没有 RAM 重置)。大多数卡不支持逻辑通道,或者您必须显式启用它们。

CLA 字节是 Java 卡初学者的典型陷阱,通常最好从 0x00 开始。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaCard 中的类字节到底是什么? 的相关文章

  • SIM工具包应用-Javacard开发套件

    我正在尝试开发 STK 应用程序 但我不知道在哪里可以获得开发套件 现在对于 Javacard 我从 Oracle 网站获得了一个 但它没有 sim toolkit 包 我不想从金雅拓等公司购买它 是否有任何 免费 实施 我已经找到了欧洲电
  • 从字节数组创建私钥

    有没有办法从字节数组生成私钥 我使用 getEncoded 方法获取了这个字节数组 但现在我必须将其转换回 PrivateKey 谢谢 武克 我也在寻找这个答案 终于找到了 keyBytes 是最初使用 getEncoded 创建的字节数组
  • Safe Max Java 卡 APDU 数据命令和响应大小

    Java Card APDU 中建议的数据字段大小是多少 来自陈志群的Java Card Technology for Smart Cards Architecture and Programmer s Guide书中提到 Le 字段最多允
  • 将 ECPublicKey 从 JavaCard 恢复到 Java

    我正在尝试在终端 由我的计算机模拟 和智能卡 Java Card 之间实现 ECDH 我修复了我想要使用的椭圆曲线 并且在卡端我有以下代码来运行协议的第一部分 ECPublicKey pubKey ECPublicKey KeyBuilde
  • 如何获得唯一的智能卡ID?

    我正在寻找一种方法来为我使用的每张智能卡找到唯一的号码 我听说每张卡都有唯一的 IC 制造日期 IC 序列号和 IC 批次标识符 我如何从我的卡中获取这些信息 当然 每个硬件供应商都会将上述信息集成到芯片中 不幸的是 这留下了以下问题 操作
  • 如何从智能卡获取 CPLC 数据?

    我在用着GPShell在带有智能卡读卡器 型号为 ACR122 的 Ubuntu VM 上 我使用几种不同的 NXP SmartMX 芯片 使用他们的Android 标签信息应用程序 当我扫描一个特定的 SmartMX 芯片时 我能够看到
  • JavaCard 的数学库?

    我目前正在开发一个 JavaCard 项目 v 2 2 2 我需要使用平方根 对数等来计算值 我知道Math类在 JavaCard API 中不可用 想知道是否存在另一个提供此类操作的库 而且我也不能用double价值观 但我需要 有没有一
  • 从 javacard 小程序读取大文件

    我正在编写一个小程序 它存储 3 个不同大小的文件 5 Kb 7 Kb 和 11 Kb 我在小程序中存储文件没有任何问题 但是当我尝试读回它们时 我只能读取前两个 较小的文件 第三个文件抛出异常 javax smartcardio Card
  • 使用 Java 卡钱包

    我是一个java卡初学者 从示例中复制了下面的代码 不知何故 我已经知道部分代码是如何工作的 但还是对下面的事情感到困惑 ownerpin 的工作方式以及设置 pin 的方式和时间 如何进行信用和借记工作 我了解平衡是如何运作的 这方面还不
  • 为什么使用Shareable接口时小程序转换失败? (这种情况下如何使用导出文件)

    我写了两个java卡小程序 名为大师应用程序 and SlaveApp位于两个不同的包中 名为大师包 and 从包 掌握艾滋病 包裹 01 02 03 04 01 小程序 01 02 03 04 01 01 奴隶援助 包裹 01 02 03
  • jcop 小程序上传错误

    我是 Java 卡开发的新手 我用jcop工具作为开发套件 当我在 Eclipse 中运行简单的小程序时 出现此错误 在运行配置中我选择Java卡模拟模式 在模拟模式下成功安装后 我想在java卡中安装应用程序 cm gt upload b
  • 如何更改小程序的权限和卡历史字节?

    我已经认为更改历史字节仅限于预个性化步 但是 我发现了一个名为设置ATRHistBytes今天在 GlobalPlatform API 中 这是它的描述 GlobalPlatform 2 2 第 172 页 设置ATRHistBytes p
  • 如何使用java卡apdu从智能卡写入和读取数据

    我写了一个小程序并将其安装在智能卡中 但我不知道如何读写智能卡数据 private void readName APDU apdu throws ISOException byte apduBuffer apdu getBuffer for
  • 验证和认证的区别?

    如您所知 我们通过以下方式向卡证明我们是真实用户INITIAL UPDATE and EXTERNAL AUTHENTICATION命令 如下 lt 80 50 00 00 08 Host Challenge gt lt 84 82 03
  • JavaCard 中的类字节到底是什么?

    我已经开始使用 JavaCards 并试图掌握 CLA 字节的含义 如果要读RFC 5 4 1 类字节 http www cardwerk com smartcards smartcard standard ISO7816 4 5 basi
  • 在javacard中安装小程序

    我通过 Eclipse 制作了流行的 Hello World javacard 代码的 cap 文件 现在我想通过 GPShell 和 ACR38 智能卡读卡器将其加载到真正的 javacard 中 问题 我需要任何密钥才能将 cap 文件
  • Java 卡连接到模拟器失败

    我正在尝试测试 Java Card 小程序以建立与 cref 等模拟器的连接 try sckClient new Socket localhost 9025 InputStream is sckClient getInputStream O
  • 数据字段中包含 SSD AID 的删除 APDU 命令,返回 6985

    我有一个包含 SSD 补充安全域 的 Javacard 我想删除它 通常 当我想从卡中删除小程序或包时 我会发送以下内容删除 APDU成功后命令相互认证过程 不需要 MAC 或数据字段加密 并且Security Level 0就足够了删除
  • Java Card 中的加密/解密输出 + 相应的 APDU

    我对 Java Card 的整个主题很陌生 并尝试查看一些代码示例以更好地理解 我在以下位置找到了 AES 使用示例甲骨文论坛 https community oracle com thread 1751988但以下部分有一些问题 priv
  • 获取数据APDU命令不同的标签和响应格式

    你可能知道 全球平台卡规格 http globalplatform org specificationscard asp定义了一个名为Get Data从智能卡检索一些信息 全球平台专业版 https github com martinpal

随机推荐

  • 如何制作 MKAnnotationView 下降动画?

    我有一个自定义 MKAnnotationView 我自己在 viewForAnnotation 中设置图像 如何像使用 MKPinAnnotationView 一样为其掉落设置动画 我的代码是 MKAnnotationView mapVie
  • Keras 使用预训练嵌入初始化大型嵌入层

    我正在尝试使用预训练的嵌入和自定义语料库在 Keras 2 中使用 Tensorflow 后端重新训练 word2vec 模型 这就是我使用预训练嵌入来初始化嵌入层的方法 embedding Embedding vocab size emb
  • 想要有效地克服 Boost.Interprocess 共享内存中映射中关键类型之间的不匹配

    我正在使用 Boost Interprocess 在共享内存中创建一个映射 在本示例中从字符串到字符串 编译器似乎想强迫我在从映射检索期间在 托管段只是为了 不必要地 包含查询项 我希望能够 通过将映射的键与非共享内存中已有的实例进行匹配
  • 奥里利亚的全球职能

    我试图弄清楚如何在 Aurelia 中存储类似 全局 的函数 我已经按照这个教程 http blog durandal io 2015 04 24 aurelia custom elements and content selectors
  • 使用 Typescript 从 switch case 返回进行类型推断

    函数的类型 type fn01 name string gt void type fn02 age string gt void type fn03 description number gt void 我有这样一个案例 type Opti
  • 检测二维图中的倾角

    我需要自动检测二维图中的倾角 如下图中用红色圆圈标记的区域 我只对 主要 倾角感兴趣 这意味着倾角必须在 x 轴上跨越最小长度 倾角的数量是未知的 即不同的地块将包含不同数量的倾角 有任何想法吗 Update 根据要求 这里是示例数据 以及
  • 通过单元测试访问 Symfony 2 容器?

    如何在单元测试中访问 Symfony 2 容器 我的图书馆需要它 所以它是必不可少的 测试类扩展 PHPUnit Framework TestCase所以没有容器 Symfony 现已内置支持 看http symfony com doc m
  • Web应用程序访问用户的文件系统

    我正在为我的客户创建一个网络应用程序 该应用程序将安装在公司网络内的专用服务器上 他想在网页上查看他的本地文件列表 来自他的本地 PC 他的意思是任何访问者都可以从某个文件夹中看到他的本地文件列表 I knowWeb 应用程序无法访问访问者
  • React-select:如何在选项中显示 HTML

    我想知道react select是否可以在渲染选项中显示html 例如 如果获取的 ajax 选项有 b text b 我希望在下拉菜单中看到粗体文本 而不是看到 b text b 我阅读了文档 但没有找到任何选项 谢谢 我实现了上述解决方
  • 什么是 DOM 元素?

    以下语句中 DOM 元素的含义是什么 声明 1 https stackoverflow com questions 1065435 can a css class inherit one or more other classes 1065
  • 如何使用 W3C EBNF-Notation 并生成解析器生成器?

    在整个 RDF 规范中 EBNF NOTATION XML 规范用于指定文档的语法 所以我想知道如何使用 Antlr bison yacc 也许这些工具中的一些标志我不知道如何搜索 或者我还不知道的其他工具 来使用这些规范并生成解析器供我在
  • 如何记录 QApplication 未捕获的异常?

    我应该在哪里使用 except 块来记录异常QApplication 这似乎不起作用 app QtGui QApplication sys argv MainWindow MainWindow MainWindow show try eve
  • 查看文件路径是否在目录内

    如何检查不一定存在的文件的路径是否指向特定目录内的位置 说我有一个方法 bool IsInside string path string folder 然后 如果我这样称呼它 IsInside C Users Dude Hi C Users
  • VIsual Studio 2010,轻松最大化/最小化编辑器?

    有没有一种简单的方法可以最大化and最小化 恢复 Visual Studio 中的编辑器 为了演示 我正在寻找 Eclipse 具有的功能 正常布局 点击一个组合键 你就会得到这个 这看起来有点像 VS2010 中的 Windows gt
  • Python Plotly - 多个下拉图,每个下拉图都有子图

    Problem 我正在尝试结合两个 Python Plotly 功能 其中之一是下拉菜单 用户可以在其中切换绘图 链接到示例 https plot ly python dropdowns 另一个特点是次要情节 我的尝试 我有使用下拉菜单的工
  • 为 log4net 设置动态连接字符串

    我正在使用 log4net 并且我想在 log4net 配置中引用一个连接字符串 因为 Config connectionStrings config 中的连接字符串将是来自用户的动态输入 这是我正在尝试做的事情
  • 如何在不打开 Whatsapp 应用程序的情况下向 Whatsapp 发送消息到指定号码

    我想将消息发送到 Whatsapp 指定号码 而无需单击按钮打开 Whatsapp 应用程序 提前致谢 None
  • mysql加载数据本地infile

    我正在尝试使用下面的代码使用 LOAD DATA LOCAL INFILE 将数据加载到 mysql 表中 Mysql LOAD DATA INFILE var www vhosts domain com httpdocs test1 cs
  • 有人可以帮我编译 PHP runkit DLL 扩展吗?

    我放弃 我问过这个问题 https stackoverflow com questions 4667333 where can i get runkit dll extensions for php 5 3前一段时间 但我又陷入了这个问题
  • JavaCard 中的类字节到底是什么?

    我已经开始使用 JavaCards 并试图掌握 CLA 字节的含义 如果要读RFC 5 4 1 类字节 http www cardwerk com smartcards smartcard standard ISO7816 4 5 basi