从通用浏览器(通过http连接到服务器)访问本地智能卡的可能的客户端体系结构有哪些,最好是使用Javascript,对最终用户来说最小的安装麻烦是什么? 服务器必须能够至less向卡发出其select的APDU(或者可以将其中的一些委托给它所生成的客户端代码)。 我假设在工作PC / SC堆栈的客户端可用性,完成与智能卡读卡器。 至less在Windows,XP,现代OS X和Unix之后,这是一个合理的假设。 我到目前为止确定了以下选项: 一些自定义的ActiveX。 这就是我现有的应用程序所使用的(我们在内部开发的),一旦IE获得安装ActiveX的许可,部署对于客户来说是非常容易的,但是它不符合“通用浏览器”的要求。 更新 :ActiveX主要由不推荐的IE支持,包括IE11; 但不是由边缘。 一些使用Netscape Plugin API的PC / SC浏览器扩展,看起来像上面的平滑扩展。 我find的唯一一个现成的软件是SConnect ,但它看起来几乎没有活力 ,它的API 文档(webarchive)不再正式可用,而且与特定的智能卡供应商有着紧密的联系。 原则可能很好,但是为每个平台制作这样一个插件将会是很多工作。 更新 :许多浏览器(包括Chrome和Firefox)都会丢弃NPAPI支持。 运行在Oracle的JVM(1.)6或更高版本上的Java Applet,它随javax.smartcardio 。 从function的angular度来看,这是很好的,有据可查,我可以忍受一些已知的错误,但是我担心接受Java作为浏览器扩展的不可抗拒的下滑螺旋。 任何其他的想法? 另外:是否有某种方法可以防止恶意服务器(例如,提供3个错误的PIN码来阻止一个卡,仅仅为了它的恶劣;或制造一些更邪恶的东西)浏览器的任何PC / SC接口的滥用。