问题标签 [smartcard]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4098 浏览

.net - .NET + OpenSSL + 智能卡

我正在使用 .NET 和 OpenSSL 生成 CA 和客户端证书。

以下代码生成客户端证书并使用 CA 证书对其进行签名:

这段代码工作正常,但有一个问题。我想在智能卡上生成密钥和 PFX,因此证书生成步骤应该是下一个:

1.) 在智能卡上生成公钥/私钥对;

2.) 通过 OpenSLL 创建证书签名请求,并使用智能卡上的私钥对其进行签名;

3.) 向我们的 CA Authority 服务发送证书签名请求,并使用 CA 证书对其进行签名;

4.) 检索证书(由 CA 授权签署),用存储在智能卡上的私钥对其进行签名,并在智能卡上生成 pfx;

为了使用智能卡,我使用了 Microsoft CryptoAPI 和 NCryptoki。NET 库,但我最多只能在智能卡上生成公钥/私钥对,并在智能卡上使用 CA 链导入 pfx 证书。我无法签署从自己的 CA 机构检索到的证书请求和证书。

使用 Microsoft CryptoAPI:

使用 NCryptoki。网络库:

任何人都可以帮助我签署证书请求(通过 Open SLL 生成)并使用存储在智能卡上的私钥签署从自己的 CA 机构检索到的证书吗?

使用 NCryptoki Sign 方法对某些文本进行签名:

0 投票
2 回答
5463 浏览

windows - 如何在 Windows SmartCard 框架中使用扩展 APDU

我正在使用 WinSCard 读取符合 ISO 7816 的智能卡(具体来说,它是 PIV 卡)。该卡上有一张大约 12 KB 的图片。现在,我以 T=1 模式连接并使用 SCardTransmit 函数发送我的 GET DATA APDU 命令,然后发送一堆 GET RESPONSE APDU 命令。我最终从卡上获取了所有数据,但它需要对 SCardTransmit 进行 40 多次调用,因为每次调用我只能获取 256 个字节。每次调用大约需要半秒才能完成,因此最终需要将近 20 秒才能读取 12 KB 的数据。

我想我可以更快地做到这一点。NIST 规范规定“通过阅读器的联系接口检索 12.5 KB 数据的时间不得超过 2.0 秒”。该规范引用了扩展长度 APDU,所以我认为它是受支持的,但它的使用没有记录。我试图弄清楚,但我无法让它工作。

这是当前命令,它返回 256 个字节,状态为 0x61 0x00,这意味着还有更多数据要获取。

ISO-7815-4 规范的第 5.3.2 部分说明了编码 Le:

情况 4E - L= 5 + (B2||B3),(B1)=0 和 (B2||B3)=0

  • Lc 字段由前 3 个字节组成,其中 B2 和 B3 代码 Lc (!=0) 的值从 1 到 65535
  • B4 到 Bl-2 是数据字段的 Lc 字节
  • Le 字段由最后 2 个字节 Bl-1 和 Bl 组成,其中代码 Le 的值从 1 到 65536

我认为这意味着我的命令应该如下所示:

但这不起作用。我得到响应代码 0x67 0x00,意思是“长度错误”并且没有从卡中检索到数据。想法?

0 投票
1 回答
606 浏览

c# - Active Directory 智能卡授权

我正在寻找如何从 C# 客户端应用程序对 AD 执行智能卡身份验证。我需要使用智能卡登录应用程序。有人可以告诉我在哪里可以找到 API 吗?谢谢。

0 投票
1 回答
159 浏览

smartcard - 如何跟踪员工进入办公室?

我需要跟踪员工何时进入办公室。

我应该买什么传感器?我应该使用什么身份证?我打算使用java。卡提供商会为此提供任何 API 吗?

0 投票
4 回答
231 浏览

security - 网络应用:二元登录

我正在开发需要非常高安全性的 Web 应用程序 - 要求之一是您需要密码和第二个因素才能获得访问权限 - 例如。令牌、指纹扫描仪、磁卡等

我的问题是:网络浏览器是否有任何合理的方式可以从读卡器或指纹扫描仪等设备访问数据并在登录过程中发送数据?Java小程序,浏览器插件?还有什么?还是令牌是唯一的选择?

编辑:我发现了一些关于双向证书身份验证的内容,其中客户端和服务器交换他们的证书 - 客户端证书似乎可以用智能卡保护,因此用户必须在登录过程中将其放入读卡器中。也许有人对此了解更多?

0 投票
1 回答
706 浏览

php - 智能卡启用托管在 IIS 6 上的 PHP 站点?

过去几天我一直在对此进行一些研究,但尚未找到解决方案。我看到了一些建议,其中包括 php Exec() 函数来调用外部应用程序来处理这个问题。我一直在为基于 PHP 的站点寻找类似这样的教程 - http://securitythroughabsurdity.com/2007/04/implementing-smart-card-authentication.html。对此的任何建议或指导将不胜感激。

谢谢,杰瑞

编辑 - 我正在查看这篇文章如何使 php 应用程序需要智能卡身份验证,但这与我的目标不相关。SSLVerifyClient 是否可以与智能卡一起使用?

0 投票
2 回答
4318 浏览

c# - .NET 或 COM HID iCLASS 智能卡读卡器

我的编码几乎总是与我的 Omnikey RFID CardMan 5321 智能卡一起使用。问题是我们今天收到了标有“HID iCLASS GL”的新卡,这些卡似乎与我们的编码不兼容。

没有经过整个源代码,当我们调用以下行时,我们的问题就出现了,它基本上告诉我们数据的长度: lResult = SCardTransmit(hCard, 0, bytCommand, lLen, 0, byReadBuffer, iReturnlength)

我们只返回一个长度为 2 的数据,它的数据被标记为“x69 x86”。即使我告诉它读取所有 255 个字符,其余的也只是标记为空。

现在我知道我们的读卡器可以读取这些卡,因为 OMNIKEY 诊断工具向我们显示以下内容: 状态:已插入智能卡 FW:5.10 端口:USB Lib:1.0 智能卡名称:iCLASS 32KS 8x2+16 ART:有效协议:ISO 15693 (第 2 部分) PICCtoPCD:26,48 kbps PCDtoPICC:26,48 kbps 频率:13.56 MHz

正如我之前解释的那样,除了“x69 x86”之外,我的卡没有返回任何数据,这在我的编码中一切正常,这肯定是不正确的。

如果有人有任何阅读 HID iCLASS 卡的经验,我将非常感谢一些有关如何阅读的反馈。即使我们必须许可软件,也没关系。

提前致谢!

0 投票
1 回答
1512 浏览

smartcard - NFC标签读/写操作

  1. 我想知道使用哪种协议对所使用的 NFC 标签进行读/写操作。根据我的理解,将标签放在NFC阅读器上后,它就会通电并设置为就绪状态。然后使用用于读/写操作的“应用程序”协议。ISO 14443 中未指定用于读/写的命令的确切格式和内容,它取决于标签硬件/制造商,并且对于

    • 费利卡
    • 米法尔
    • 创新视觉
    • 等标签

因此无法通过单一实现来处理 NFC 标签读/写操作。

  1. 是否有任何标签支持 APDU 7816-4 命令进行读/写操作?

BR 斯坦

0 投票
1 回答
514 浏览

windows-ce - 生成指纹模板

我需要在 Windows CE 5.0 设备上生成指纹模板。它有izzix指纹读取器。我必须 MOC(卡上匹配)。我的智能卡有从我的指纹派生的模板。我可以使用阅读器读取指纹。但是我如何生成将发送到卡进行验证的模板。我没有任何 izzix 文件。有没有样品或建议?谢谢。

0 投票
4 回答
13151 浏览

java - javax.smartcardio - javadocs

我正在研究 javax.smartcardio 类。我正在使用 eclipse 3.6 并且我有 JDK 6 SE。我可以使用语句 import javax.smartcardio.* 或其任何单独的类,只要我更改首选项以警告或忽略禁止的引用。

我在Java SE 6的标准文档中没有看到任何提及 javax.smartcardio, 并且 eclipse 中没有弹出 javadoc 帮助。我在这里找到了文档。

有没有办法将 Eclipse 链接到 smartcardio 的 javadocs?