您好,欢迎来到深圳市融智兴科技有限公司

公司简介

解决方案
  • 业务直线

    0755-29824687
  • 业务直线

    0755-29824683
  • 业务直线

    0755-29824684
  • 业务直线

    0755-29492766
  • 业务直线

    0755-29491366
  • 大客户专线

    0755-29824689

技术交流

当前位置:首页 > 解决方案 > 技术交流

非CPU卡和CPU卡在应用软件编程上需要注意哪些事项?

发表时间:2020-12-25 18:19:32


在智能卡的发卡过程中,卡片的数据结构和数据调用也至关重要,PC端IC卡应用软件编程中,非CPU卡与CPU卡有着不小的差别。

首先,非CPU卡,你必须熟悉卡的存储结构,哪里是制造商区,哪里是密码区,哪里是数据控制区,哪里是数据区(应用区)……;而CPU卡,你不必关心数据的地址,却要关注文件系统的结构:主文件(MF,相当于DOS文件系统的根目录)、专用文件(DF,相当于DOS文件系统的目录,可以有多层)、基本文件(EF,相当于DOS文件系统的文件)。

CPU卡的基本文件类型虽然只有透明(二进制)文件、(定长与不定长)线性记录文件和循环记录文件三类,但由于COS内部控制的需要,派生出一些特定的“变种”——复位应答文件、口令文件、密钥文件、DIR文件、SFI文件……。这些都需要熟悉。

纯粹的存储卡是可以自由读取的;非CPU逻辑加密卡的访问控制,需要掌握特定的卡的口令控制、认证控制、特定的数据控制标志字节和卡的熔丝(一种卡上这些控制不一定都有)。

而CPU卡的访问控制,是在建立文件时定义的,读、写、更改分别是否需要认证,用哪个密钥,是否需要口令,是否需要MAC验证等等。需要说明的是,创建文件命令的格式是随COS而不同的。所以,你必须熟读他的COS手册。

现在说说卡操作。非CPU卡的访问一般是通过调用函数直接完成的,大不了需要熟悉一下调用参数。而CPU卡除了设备命令(测卡、上下电、选卡座等)和卡的复位命令以外,所有卡命令都是通过一个通用的命令函数执行的,所以你需要熟悉COS手册的命令。

COS的卡操作命令有统一的格式:CLA(命令类别Class)、INS(命令指令Instruction)、P1(参数1)、P2(参数2)、Lc(命令数据域Data长度)、Data和Le(应答数据域长度)。命令域中除了Data,都是1字节十六进制数。数据域则是十六进制数串,可以是二进制数、BCD码或文字的ASCII码等等。这有点像汇编语言。调用命令函数时,把命令串代入对应参数即可。更多非CPU卡和CPU卡等相关介绍,欢迎关注融智兴科技技术交流。