我应该如何开始在智能卡的C# (.NET)中编程?刚开始我只需要知道读卡器的名字是什么(例如Omnikey),然后打印出来。
谢谢你的回答,艾尔斯。
发布于 2011-01-31 22:51:53
不久前,我不得不写一些我认为将是一些简单和容易的智能卡代码,让我告诉你,这不是在公园里散步。首先,事实证明,智能卡上的好信息很难在网上获得。当我找到几个网站时,有很多关于底层Win32应用程序接口调用和一大堆其他低级东西的讨论,这并不是很容易读懂。
问题是,它们被称为智能卡是有原因的。这是因为,您基本上是通过向嵌入式微处理器发送它能理解并响应的命令来与其交互。这可能会变得有点复杂,因为许多制造商认为实现他们自己的命令是一个好主意,所以很多事情都取决于您使用的卡的类型。最重要的是,有一些卡片看起来像智能卡,但实际上并不是智能卡,甚至不使用任何“标准”智能卡接口,所以你最终只能使用Windows来启动你的阅读器,而智能卡阅读器的特殊smartcard在其网站的某个不知名的角落作为.lib提供给其他人……
好吧,我最终让我的应用程序工作了,但就像我说的,这并不容易。无论如何,我犯了一个很大的错误,因为我认为这不会很难做到。
如果你真的想接触智能卡,我想你最好的选择就是买一本关于这个主题的好书,但由于我也是个新手,在这方面我真的帮不了你。
至于网站,我能找到的C#中最有用的东西就是A Smartcard Framework for .Net。请注意,本文与the one posted by michaelvdnest不是同一篇文章,尽管作者是相同的。我链接的那篇文章描述了原生smartcard API的C#包装器,而michaelvdnest的文章将XML添加到其中,尽管我不知道具体是以什么方式,因为我还没有读过它。
因此,开始剖析随文章提供的代码吧,祝你好运。如果我没记错的话,读者枚举的东西很容易找到。
发布于 2011-01-31 22:49:14
查看代码项目上的Smart Card Framework for .NET。它描述了一个用于.NET编写智能卡应用程序的可扩展标记语言框架。
发布于 2012-06-15 05:32:23
我知道已经很晚了.
但
你可以在这里获得一个非常容易使用的,供个人使用的免费专业库:
https://www.smartcard-api.com/
这里还有一个社区(完全免费使用)智能卡图书馆
https://www.nuget.org/packages/PCSC
近年来,我倾向于使用Nu-get而不是智能卡API,如果您需要商业支持,智能卡API lib是最好的选择。
一旦你有了它,你就需要开始理解APDU,以及如何在卡片和终端之间来回穿梭。
这真的是一个巨大的主题涵盖,我有代码,将读取标准芯片和Pin EMV卡上的所有通用元素不幸的是,它是为金融服务客户写的,所以我不能给你,但我可以解释一些你需要承担读取卡。
对于其他卡,则取决于卡本身,例如,我这里有一个读卡器和空白卡,我在其中一些卡上有一些只有我知道如何访问的自定义数据,但我仍然有一些旧的卫星和旅游卡,它们又是不同的。
你可以在这里得到一些想法:
How do I read the PAN from an EMV SmartCard from Java
这里有很多关于智能卡的一般信息:
https://web.archive.org/web/20160329205518/http://wrankl.de/SCTables/SCTables.html
尤其是通用的东西(其中有一些)
https://stackoverflow.com/questions/4851718
复制相似问题