【问题标题】:Can i write and read data to smart card using PCSC API?我可以使用 PCSC API 向智能卡写入和读取数据吗?
【发布时间】:2017-10-25 08:14:50
【问题描述】:

我正在寻找可以在智能卡中写入和读取数据的智能卡读卡器。我发现很多人都在使用 PCSC API。 PCSC 可以允许我将自己的数据写入卡吗? (打算将示例用户名用户号写入卡中),那么我也可以通过API将这些数据读回我自己的软件进行处理?

我浏览了一些网站,包括https://ludovicrousseau.blogspot.sg/2010/04/pcsc-sample-in-c.html

似乎Scardtransmit只能发送命令并得到回复? 不太明白它是如何工作的

【问题讨论】:

  • 要了解通过 PCSC 发送的命令,您应该熟悉 ISO 7816-4(然后是 -9 和 -8)以及用于查找的卡的操作系统手册,实际上是哪个子集提供以及除此之外还有哪些附加/专有功能。这是复杂的事情,需要一些时间。

标签: smartcard smartcard-reader pcsc


【解决方案1】:

是的,一般来说,如果您的卡支持它并且您可以对卡进行身份验证以进行写访问,则通常这是可能的。

那里有许多不同的智能卡。 PCSC 是一个 API,最初由 Microsoft 提供,用于提供标准化的 API 以在 PC 和智能卡之间进行通信(因此得名)。由于对内存的实际读写是由智能卡芯片自己完成的,因此应用程序可以使用任何支持 PCSC 的读卡器向芯片写入数据。

当然,您的卡应该与读卡器兼容。此外,它应该是存储卡、文件系统卡或可编程智能卡。 PCSC 是为后两者设计的——根据大多数文档,智能卡应该有一个通用 CPU。然而,像 DESFire v2 这样的一些内存汽车也提供了更高级别的 CPU 接口。此外,许多读卡器提供专有 API(用于旧存储卡标准),可通过 SCardTransmit 访问,并将 CLA 字节设置为 FF

如何写入数据取决于智能卡。在 ISO/IEC 7816-4 中——它定义了文件系统卡,但通常也用于通用智能卡——有写入文件(更新二进制)或记录的命令。然而,DESFire 有自己的协议。您首先需要文档、测试卡和测试密钥来对智能卡进行身份验证。为了简化这一过程,许多制造商和经销商提供了开发套件,其中包括智能卡、兼容的读卡器、示例软件,有时甚至是完整的开发环境。

【讨论】:

    猜你喜欢
    • 2016-09-28
    • 1970-01-01
    • 1970-01-01
    • 2013-04-29
    • 1970-01-01
    • 2019-10-14
    • 1970-01-01
    • 2016-04-24
    • 1970-01-01
    相关资源
    最近更新 更多