跳转到主要内容

Userland USB Gadget实现CCID/ICCD类。

项目描述

Userland USB Gadget实现CCID/ICCD类。

实现N槽USB虚拟IC卡读卡器。

需求

  • Linux >= 4.9支持CCID类

  • python3(使用3.8和3.9进行了测试)

  • setup.py中列出的python依赖项

用法

简而言之

import f_ccid
with f_ccid.ICCDFunction(path, slot_count=1) as ccid:
    ccid.slot_list[0].insert(card)
    ccid.processEventsForever()

(但请检查functionfs.gadget以设置configfs,并提供上面的路径参数)

此模块不提供任何卡片实现。

预期的卡片API是

card.clearVolatiles() -> None

当虚拟电源切断卡片时调用,这意味着它必须刷新其易失性状态。

card.getATR() -> bytearray

当主机告诉读卡器给卡片供电时调用。这必须返回此卡片的Answer To Reset字节字符串。请注意,答案必须是可变的:尽管它不会被读卡器更改,但它将被传递到C代码,技术上可能会更改它。

card.runAPDU(: bytearray) -> bytearray

当主机请求卡片执行应用程序协议数据单元时调用。返回的值必须包含任何响应,后面跟着任何状态字节。只有完整的APDUs才会发送到卡片(由读卡器进行组装)。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定该选择哪个,请了解有关 安装包 的更多信息。

源代码分发

usb-f-ccid-0.2.tar.gz (28.9 kB 查看哈希值)

上传时间: 源代码

由以下机构支持