SmartCard学习之操作练习

SmartCard学习之libpcsclite 下面这一段代码,不是在所有卡片上都能成功运行。 写出来的意义是,让大家对于智能卡操作的流程有个大致了解,大致熟悉一下相关函数怎么用。 具体API文档,微软介绍的很清楚,网上也很多,不赘述。 基本上流程就是: 安装的库基本上就那么几样东西: libccid pcscd libdbus-1-dev libpcsclite-dev 差不多就这几个吧,不够的就再查查,哈哈哈哈 make命令大致如下:... 阅读详情

以下操作,主要为验证一个问题,文件读写权限的控制,
主要涉及到卡片随机数获取、数据擦除、密钥文件建立与写入、
文件、文件夹的建立、读写。
智能卡型号:复旦微电子FM1216-109
理论上复旦微电子的FM12XX系列都可以实现类似效果,因为卡片内部COS都是FM2.0。


关于读写权限:
官方文档及网络资料指出:

文件的访问权限吗,在文件创建时候用一个 byte 指定。
例如[X][Y],XY表示需要的安全状态级别,X,Y取值范围:

X \in [0,F], Y \in [0,F]

例如:
某文件的读写权限,读:F0,写:F1
即表示读文件无需权限,写需要安全状态寄存器的值大于1。

安全寄存器的状态值可以通过外部认证或者内部认证改变。
认证密钥创建时,指定了操作成功后的持续状态,这个持续状态,就是认证成功后、所改变的安全状态寄存器的状态值。



文件在初次创建时,读写并没有限制,
但是一旦断开连接或者重置,就会有权限要求

取八位随机数: 00 84 00 00 08

00 84 00 00 08
< FC CF 1F B5 DE A4 73 DD 90 00 : Normal processing.
0082000008D5F5690D198ABD6B
00 82 00 00 08 D5 F5 69 0D 19 8A BD 6B
< 90 00 : Normal processing.

擦除: 80 0E 00 00 00

80 0E 00 00 00
< 90 00 : Normal processing.

选择主目录: 00 A4 00 00 00

00 A4 00 00 00
< 61 12 : 0x12 bytes of response still available.

创建密钥文件: 80 E0 00 00 07 3F 00 FF 01 F0 FF FF

80 E0 00 00 07 3F 00 FF 01 F0 FF FF
< 90 00 : Normal processing.

写入外部验证密钥: 80 D4 01 00 0D 39 F0 F0 AA FF 12 34 56 78 12 34 56 78

80 D4 01 00 0D 39 F0 F0 AA FF 12 34 56 78 12 34 56 78
< 90 00 : Normal processing.

创建文件15,读写权限F0: 80 E0 00 15 07 28 00 FF F0 F0 FF FF

80 E0 00 15 07 28 00 FF F0 F0 FF FF
< 90 00 : Normal processing.

选择文件15: 00 A4 00 00 02 00 15

00 A4 00 00 02 00 15
< 90 00 : Normal processing.

SmartCard学习之APDU APDU:   Application Protocol Data Unit 指令格式: Command Type Send Cmd CLA INS P1 P2 Lc Data Le Response Data SW1 SW2 发送指令结构: Send Cmd Header Send Cmd Body CLA INS P1 P2   Lc Data L... 阅读详情

相关推荐

SmartCard实例

用C# Winform写的一个SmartCard示例,方便对智能卡设备发送命令并接受回响数据,支持IOS7816 APDU命令。 操作界面按照从1到6步骤操作,功能都在代码中写明

smartCARD发卡注意的问题

smartcard发行注意的一些问题, 在 发 卡 程 序 设 计 过 程 中 , 尤 其 要 注 意 卡 片 主 控 密 钥 、 应 用 主 控 密 钥 、 应 用 维 护 密 钥 及 其 它 密 钥 之 间 的 关 系 及 其 写 入 要 求 。

Smartcard-Demo:智能卡身份验证项目的存储库

README CAC / PIV卡/证书登录 以下是cert.py和external_cert.py脚本的配置属性: certificate_file :指向[json]格式的凭据文件的必需属性。 crl_max_response_size :指定[CRL] [crl]响应的最大允许大小。 map_user_cert :指定脚本是否应将新用户映射到本地帐户。 use_crl_validator :启用/禁用特定的证书验证。 use_generic_validator :启用/禁用特定的证书验证 use_ocsp_validator :启用/禁用特定的证书验证。 use_path_validator :启用/禁用特定的证书验证。 chain_cert_file_path :指向[pem]格式的证书链的必需属性。 有关配置的详细信息,请参阅说明文档。

SmartCardStudio使用手册

SmartCardStudio是辰通科技开发的专业IC卡测试软件,本文档是该软件的使用手册

TI IWR6843AOP雷达+DCA1000EVM数据采集:官方手册里的坑,我帮你踩完了

本文详细解析了TI IWR6843AOP雷达与DCA1000EVM数据采集实战中的12个关键细节,包括硬件连接陷阱、mmWave Studio隐藏设置、数据采集参数优化等,帮助开发者避开官方手册未提及的常见问题,提升数据采集效率和系统稳定性。

weixin_28366475的博客 1102

不用FFmpeg!纯前端实现RTSP直播的3种现代方案对比(WebSocket/Wasm/WebCodecs)

本文深入探讨了纯前端实现RTSP直播的三种现代技术方案:WebSocket代理转发、Wasm解码和WebCodecs硬解。通过详细的架构设计、性能实测数据和兼容性分析,帮助开发者在安防监控、智慧城市等场景中选择最佳方案,实现低延迟、高效率的视频流处理。

lilh34434的博客 231

DOTween回调函数的隐藏技巧:优化你的Unity动画流程

本文深入探讨了DOTween回调函数在Unity动画开发中的高级应用技巧,帮助开发者优化动画流程。通过分析回调机制、链式应用模式和大规模动画系统管理,提升性能与可维护性,特别适合需要高效处理复杂动画场景的Unity开发者。

weixin_27945229的博客 319

SAP ABAP实战:用GN_DELIVERY_CREATE批量创建内部交货单的完整代码与避坑指南

本文详细介绍了在SAP ABAP开发中使用GN_DELIVERY_CREATE函数批量创建内部交货单的完整实现方案。通过数据结构设计、多源数据整合、批量处理逻辑和错误处理机制等核心环节的深入解析,帮助开发者高效完成物流单据自动化处理,特别针对VL31N/VL32N等常见场景提供避坑指南。

weixin_42116058的博客 343

Hcaptcha验证码的‘免浏览器’破解思路:协议分析与N值算法逆向

本文深入解析Hcaptcha验证码的‘免浏览器’破解思路,通过协议分析与N值算法逆向,实现高效自动识别。文章详细拆解Hcaptcha的API交互流程,揭示关键参数`req`和`n`的生成机制,并提供轻量级实现方案,显著降低资源消耗,适用于大规模数据采集等场景。

weixin_30838873的博客 535

【ANSYS APDL】提取结构刚度矩阵完整过程--附Python代码实现

ANSYS的结构刚度矩阵提取中一些操作技巧

m0_61038364的博客 1万+

一站式讲解Wireshark网络抓包分析的若干场景、过滤条件及分析方法

本文详细讲解常用的抓包工具、抓包分析的网络场景、分析抓包时的多种过滤条件以及如何结合常用的协议去分析排查问题,给大家提供一个借鉴或参考。

dvlinker的技术专栏 5万+

5步上手Quartz.NetUI:.NET Core定时任务的开箱即用解决方案

Quartz.NetUI是一个基于.NET Core + Quartz.NET + Vue + IView的开箱即用的定时任务UI解决方案。它结合了Quartz.NET的强大功能和Vue.js的易用性,提供了一个不依赖数据库、只需在界面进行简单配置即可使用的定时任务管理系统。通过上述步骤,你已经学会了如何使用Quartz.NetUI在.NET Core项目中实现定时任务。Quartz.NetUI不仅功能强大,而且使用简单,非常适合那些需要快速实现定时任务管理的开发者。

java专栏 2406

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

上一篇: DES ecb加解密在C语言、python下的分别实现
下一篇: SmartCard学习之libpcsclite
Benjamin_Xu
博客等级 码龄14年 46粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值