我有智能卡和阅读器(Gemalto)。我想用C#读取卡的序列号。我在Gemalto支持站点上阅读文档/库,但是没有对我有用的信息。
我希望有人对Gemalto有经验,以帮助我一些例子!
太感谢了!
发布于 2013-08-07 07:29:31
如果您的意思是卡片上的序列号,您可以执行以下操作:
您需要引用Gemalto中的Off卡dll。SmartCard.Runtime.dll SmartCard_Stub.dll
SmartCard.Transport.PCSC.SelectDialog dialog = new SmartCard.Transport.PCSC.SelectDialog();
CardAccessor ca = new CardAccessor(dialog.SelectedReader);
if(ca.Logon())
{
ca.GetSerialNumber();
}如果您的意思是证书上的序列号,则完全不同的方法。
发布于 2013-07-26 05:24:47
您必须将APDU发送到智能卡,要求提供卡片产品生命周期数据,即(CPLC数据)。
某些特定类型的卡片具有卡片生产生命周期(CPLC)数据。例如,JCOP卡的GET数据或GETCPLCDATA位于0x9F7F标记或0x0101标记上。我相信这是一个特定于全球平台的标签。找出你的卡支持的规格。对于Gemalto卡,我希望它能起作用。通过查询CPLC数据,我从gemalto卡获得的数据是:
对于0x9F7F:
IC Fabricator :2 Bytes
IC Type : 2 Bytes
Operating System ID : 2 Bytes
Operating System release date : 2 Bytes
Operating System release level : 2 Bytes
IC Fabrication Date : 2 Bytes (Y DDD) date in that year
IC Serial Number : 4 Bytes
IC Batch Identifier : 2 Bytes
IC Module Fabricator : 2 Bytes
IC Module Packaging Date : 2 Bytes
ICC Manufacturer : 2 Bytes
IC Embedding Date :2 Bytes
IC Pre-Personalizer : 2 Bytes
IC Pre-Perso. Equipment Date : 2 Bytes
IC Pre-Perso. Equipment ID : 4 Bytes
IC Personalizer : 4 Bytes
IC Personalization Date : 2 Bytes
IC Perso. Equipment ID : 4 Bytes0x0101:
Card serial number: 8 bytes
Reserved bytes: 3 bytes 0
Flow identification: 1 byte
Reserved bytes: 4 bytes 对不起,我不能提供确切的字节,在您的情况下可能会有所不同。检查一下你的卡支持是什么标签。更好地参考全球平台文档和ISO 7816标准(4.html)。我希望这就是你要找的。
发布于 2013-07-24 10:06:21
见这个职位。卡片上的情况可能略有不同(特别是CLA字节)。
基本上,您需要选择卡文件系统的根(MF,a.k.a )。3F00,然后选择卡片的EFiccid (2FE2)并读取内容。理论上很简单。
对于每个步骤,都有一个专用的APDU命令。如果Gemalto库允许您发送APDU,那么您应该可以选择。
https://stackoverflow.com/questions/17825294
复制相似问题