我正在寻找可以向智能卡写入数据和从智能卡读取数据的智能卡读卡器。我发现许多人正在使用PCSC API。 PCSC允许我将自己的数据写入卡吗? (打算将示例用户名用户编号写入卡),那么我还可以通过API读取这些数据,以便我自己的软件进行处理吗?
我通过几个网站阅读,包括https://ludovicrousseau.blogspot.sg/2010/04/pcsc-sample-in-c.html
似乎Scardtransmit只能发送命令并获得回复? 不能真正了解它的运作方式
答案 0 :(得分:2)
是的,一般来说,如果您的卡支持它,并且您可以对卡进行身份验证以进行写访问,则可以这样做。
有许多不同的智能卡。 PCSC是一种最初由Microsoft提供的API,用于提供标准化的API,以便在PC和智能卡之间进行通信(因此得名)。由于智能卡芯片本身对存储器的实际读写操作,应用程序可以使用任何支持PCSC的读卡器将数据写入芯片。
当然,您的卡应与阅读器兼容。此外,它应该是存储卡,文件系统卡或可编程智能卡。 PCSC是为后两者设计的 - 根据大多数文档,智能卡应具有通用CPU。但是,像DESFire v2这样的内存汽车也提供了更高级别的CPU接口。此外,许多读者提供专有API(对于较旧的存储卡标准),可通过SCardTransmit访问,CLA字节设置为FF
。
如何编写数据取决于智能卡。在ISO / IEC 7816-4中 - 定义了文件系统卡但通常也用于通用智能卡 - 有命令写入文件(UPDATE BINARY)或记录。然而,DESFire有自己的协议。您首先需要文档,测试卡和测试密钥才能对智能卡进行身份验证。为了简化这一过程,许多制造商和经销商提供的开发套件包括智能卡,兼容的阅读器,样本软件,有时甚至是完整的开发环境。