问题描述
我正在尝试使用智能卡读取器从智能卡中检索数据。我已经使用该软件(PascProbe.exe)来获取所有可能的数据。这就是我得到的:
I am trying to retrieve the data from the smart card using smart card reader. I've used the software (PascProbe.exe) to obtain all the data I've could. This what I got:
读卡器:OMNIKEY CardMan 5x21-CL 0
ATR = 3B8F8001804F0CA0000003060A0018000000007A(hex)
卡类型:PicoPass 2KS
卡序列号(CSN,UID):504B4901FBFF12E0(十六进制);
PACS位(原始Wiegand)数据:000000202FA473F8
应用HID H10304卡格式:
设施代码:= 762
卡号:= 145916
我了解如何使用APDU从卡中获取CSN(UID)和ATR,以及
我了解如何从PACS位(此处为H10304卡格式)获取设施代码和卡号,但是我不知道我需要知道什么才能从智能卡中检索 PACS位。请帮忙。 (我使用的是.Net)
提前
Thx
I understand how to get CSN(UID) and ATR from card using APDU, andI understand how to get facility code and card number from PACS bits (here H10304 card format), but I don't know what I need to know in order to retrieve "PACS bits" from the smart card. Please help. (I am using .Net)
Thx in advance
推荐答案
您这样做(两者都.NET和C ++,没有区别),使用Omnikey 5x21和APDU命令。
You do something like this (in both .NET and C++, it makes no difference), using Omnikey 5x21 and APDU commands.
- 启动安全会话(读,不写)。
- 选择0x00
- 使用KD验证0x21
- 读取0x06、0x07、0x08、0x09。 (如果您在安全会话
中执行此操作,则将其实际数据写入卡中,否则,其FF FF FF FF FF
.....) - 现在,您是否在0x07获得了Wiegand?如果是,请完成。再次阅读0x07
,但是将第三个字节设置为0x80,而不是0x00。(这取决于您拥有的
卡) - 结束会话。
- Start secured session (READ, NOT WRITE).
- Select 0x00
- Auth with KD 0x21
- Read 0x06, 0x07, 0x08, 0x09. (If you do this inside secured sessionits the real data written on the card, otherwise its FF FF FF FF FF.....)
- Now, did you get your Wiegand at 0x07? If yes, done. Esle Read 0x07again, but set the 3rd byte 0x80, not at 0x00.(this depends on thecard you have)
- End your session.
在安全会话中使用APDU命令的方式大不相同,您需要读密钥。通信中也有DES加密。
The way you use APDU commands in Secured Session is quite different, you need the read key. Also there is DES encryption for the communication.
您可以阅读有关5x21-CL的开发指南。但我确定您在阅读本文时确实做到了。
You can read the dev-guide about 5x21-CL. But Im sure you did it at the time reading this.
这篇关于如何读取智能卡数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!