启动智能卡编程

hyp*_*ean 20 c c++ unix smartcard

如何开始使用智能卡编程?我在这里问他需要的所有工具包才能入门:书籍,教程,硬件等.

我打算和几个智能卡程序员一起玩,我对这个领域很陌生.

编辑:我最感兴趣的是那些与类Unix操作系统兼容的程序员.此外,我不确定这是如何工作的...但我想用C/C++编程

big*_*num 21

每当我需要访问智能卡以用于安全应用程序时,它都可以通过以下任一方式:

  • Microsoft CryptoAPI
  • 该卡的PKCS#11库.

要使用Microsoft CryptoAPI访问卡,需要使用特定于卡的加密服务提供程序(CSP).CSP位于CryptoAPI层下.

但是,如果您使用"C/C++"在Unix/Linux上进行开发,那么您可能需要查看RSA 的PKCS#11标准.该标准规定了一个名为Cryptoki(加密令牌接口)的'C'API,它在所有类型的加密设备之上提供了一个共同的抽象.几乎所有的智能卡供应商都为他们的卡提供了PKCS#11库,您可以使用Cryptoki API对其进行编程.

如果要访问较低级别的智能卡/读卡器,可以使用PC/SC或CT-API等API.

  • 用于在Windows,Linux和Mac OS X上实现的智能卡访问的PC/SC事实标准

  • CT-API仅提供非常小的功能; 不太适合现代应用程序.

如果您有兴趣编写在智能卡上运行的Java小程序,那么您可能希望查看http://java.sun.com/javacard/

可能有用的资源

  • OpenSC是一套用于智能卡的库和工具.它旨在与PKCS#11支持卡配合使用.OpenCT为读卡器以及由卡和读卡器组成的令牌(即usb令牌和其他"完整"设备)提供驱动程序.

  • http://www.linuxnet.com/ MUSCLE - 在Linux环境中使用智能卡的运动

  • PKCS#15 - 加密令牌信息格式标准

  • 智能卡手册

  • 对PKCS#11介绍在2009年的RSA的conf给出.

  • PyKCS11围绕PKCS#11的Python包装器.与直接在Cryptoki级别工作相比,这些类型的包装器可以提供更简单的更高级别的接口.

  • 智能卡联盟


Adr*_*ian 0

如果你用谷歌搜索,你可以找到智能卡开发套件,其中提供了程序员、一些示例卡和手册,而且价格相当便宜。

它还有助于了解密码学(尤其是公钥密码学),以及将数据打包到非常小的结构中的一些实践。

智能卡的范围从极其愚蠢的(安全的 1kb 内存存储)到相当复杂的(我见过广告上运行精简的 .NET 框架的智能卡)。

最常用的智能卡可能是 Mifare 生产的智能卡,通常用作旅行门票,但也用作会员卡甚至通行证。

  • 如果您用谷歌搜索过,将实际链接放在这里会很有帮助。 (5认同)