我想阅读德国保险健康卡(如K)的姓名,地址等基本数据。 我有一个scm sdi011读卡器,我使用c#。 我已经从卡/读卡器获得ATR字符串,但我不知道如何继续。 如果有人能告诉我现在该做什么,那该多好。如何从c#中的智能卡读取名称和地址等基本数据?
这里是我的代码:
WinSCard card = new WinSCard();
try {
card.EstablishContext();
card.ListReaders();
string szReader = card.ReaderNames[1];
card.Connect(szReader);
string ATRStr = card.AtrString;
ATRBox.Text = ATRStr;
} catch (WinSCardException exception) {
richTextBox1.Text = exception.WinSCardFunctionName + " Error 0x" + exception.Status.ToString("X08") + ": " + exception.Message;
} finally {
card.Disconnect();
}
那你曾* *抽到了ATR让我觉得,你认为自己接近目标。不幸的是,这种情况并非如此。获取您感兴趣的一代eGK规范(除ISO 7816-4外),并检查数据存储位置(EF.Personendaten)。这是很多的工作,重要的细节不太可能在这里找到现成的。问题不在于* C#*,而在于具有特殊智能卡理念的命令序列。 – guidot
我已经发现,我想要的数据存储在EF.PD(或EF.PSD)中 - 问题是我不知道如何读出这个商店。 –
文献推荐是Rankl/Effing:Handbuch der Chipkarten和ISO 7816,第4部分,特别是关于SELECT,READ BINARY的章节。之后,欢迎您回答具体问题。 – guidot