如何从ASP.NET站点访问智能卡?

时间:2010-06-09 14:10:39

标签: c# asp.net smartcard smartcard-reader

我需要通过ASP.NET站点的智能卡进行通信。我创建了一个dll(使用Winscard.dll和MCSCM.dll,这是SCM Micro Reader的dll),它与Windows上的读卡器一起使用但我无法在ASP.NET中使用它。该项目将仅在IE上运行,我必须避免使用Javascript。

感谢您的帮助。

4 个答案:

答案 0 :(得分:3)

8年前我遇到过这个问题,但我们称其为ASP,然后

问题是ASP代码在远程服务器上运行,而智能卡读卡器是本地硬件

我是如何绕过它的是一个小型客户端应用程序,定期轮询智能卡读卡器以插入/移除卡。如果插入了一张卡,则它会调用一个Web服务来提醒服务器,该服务器根据卡和一些随机数创建一个唯一的密钥。然后它要求用户输入PIN,该PIN与卡ID和随机数有关。

这意味着它需要特定的卡和不可重复的号码。我很确定我使用SSL来加密网络服务信息,这当然是系统中最容易受到攻击的部分

我就是这样做的。 SCM技术支持人员非常乐于助人并且能说出优秀的英语,可能值得给他们一个大喊大叫

答案 1 :(得分:1)

我找到了解决方案。我加载了一个创建activeXobject的Javascript并使用我在客户端上安装的dll。像这样:

<script language="javascript">

   function Run() 
       {
           var x = new ActiveXObject("ASC.SC");
           txtRd.value = x.AutoRead();
       } 
</script>

感谢您的帮助。

答案 2 :(得分:0)

如果您尝试使用智能卡进行身份验证,则应使用我的同事撰写的Smartcard Authentication Module。它非常安全,应该可以解决问题。

答案 3 :(得分:0)

我公司为此目的制作商业插件。

它包括IE和firefox / chrome支持,并提供脚本语言,用于编写控制智能卡的简单服务器端脚本。它还包括与浏览器交互的功能(例如将从智能卡读取的值放入网页上的字段,或导航到不同的网页)。

您可以使用在线演示来查看是否符合您的要求:https://cardboss.cometway.com