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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cdaa1acaecc3bbf6ee707a72b3e9c3ea948e8734c5a41f3d26a517df238c3880 |
|
MD5 | e2f7e7c1e45d3fe79b5287292dc341b0 |
|
BLAKE2b-256 | e11105de39ce2c4badd75ad4bedc4db63fee47c0db0dbe4ce91d06bc3b89e3ab |