问题标签 [pyscard]

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 回答
1951 浏览

python-2.7 - Python ACR122U 轮询

我想知道是否有办法在 python 中轮询 ACR122U,如果有,怎么做?我下面的脚本获取卡的 UID,但不断运行。我知道它是因为 while1而运行,但它显示了我想要实现的目标

0 投票
0 回答
280 浏览

python - 如何使用python从二进制文件中读取数据

我想从智能卡中检索证书数据。通过使用“PyScard”实用程序中的 SCardTransmit 函数,我们可以通过发送 apdu 来获取数据。但是文件的长度太大了。谁能帮我获取字符串格式的数据以及如何获取数据。我的 C 代码如下所示:

现在我想在 python 中实现它。任何帮助表示赞赏。先感谢您

0 投票
2 回答
905 浏览

linux - 为什么 ACR38U-CCID 总是返回 0x6e 0x00?

我正在研究一个从智能卡读取数据和将数据写入智能卡的项目。正在使用的读卡器ACR38U-H1来自ACS. 按照他们的APDU命令,我能够访问卡并读取一些数据。但是我怀疑我仍然无法读取里面的确切数据,因为我总是得到对命令的响应APDU 0x6e 0x00, 0x00而不是0x90 0x00.

我究竟做错了什么?
也许问题出在智能卡上?

Python代码:

此代码的结果:

打开工具的结果:

0 投票
1 回答
39045 浏览

python - 如何在python中创建一个sha1哈希

我的目标是在 python 中使用智能卡执行“哈希签名”。使用了 hashlib,但 python 中没有特定的 SHA1 或 SHA256 函数。我的工作:

但是我得到的哈希对象的长度是 28 而我应该得到 14 或 20 以便我可以打开条件为

任何帮助表示赞赏。先感谢您

0 投票
2 回答
290 浏览

python - pcscd 协议更改但 atr 没有

我一直在研究 hid omnikey 5325 cl 并试图获得 ATR 值。我在 Ubuntu 上使用 pcscd 和 pyscard 库。系统使用 T0 协议自动获取 ATR,但我需要 RAW 返回。在使用helloprox或omnikey官方软件的windows上,我可以得到我需要的东西,但是在ubuntu上,即使我改变了协议但ATR没有改变。

这是我使用的代码:

0 投票
1 回答
916 浏览

python - 使用 Python 和 pyscard 检索智能卡的 PAN

我正在尝试使用pyscardin检索智能卡的 PAN Python。到目前为止我所做的是连接到读卡器并检索有关读卡器和卡的各种信息......但我找不到获取序列号的方法......

使用 pyscard,首先要做的是创建contextPC 和 Smart Card 之间的通信:

建立上下文后,让我们尝试获取活动智能卡读卡器的列表:

readers是一个列表,如果你只有一个,readers[0] 将包含阅读器。此时,我所做的是获取ATR卡的:

它有效。然后我尝试与卡进行通信:这里我编写了获取随机数的方法,使用 APDU 命令和第二个位置(INS)的 0x84 十六进制。

如您所见,一个 APDU 由 5 个不同的十六进制数字组成:CLA、INS、P1、P2、P3。

好的,仍然不是序列号,但我至少在战斗:-)

顺便说一句,我正在阅读 pyscard 文档ISO7816 文档

先感谢您!

0 投票
3 回答
1965 浏览

python - 如何使用 Python 验证智能卡的 PIN?

我需要您的帮助来验证智能卡的 PIN。我正在使用Pythonpyscard。我知道我必须使用一个APDU命令并且我必须使用它来发送它,ScardTransmit()但我找不到要使用的 APDU。例如:

(因此使用 PIN=123456)将仅返回 6A 88 - 未找到引用数据

我想知道:有没有办法获得一些关于查看特定智能卡的命令ATR的提示?即:INS 字段中的命令“20”(APDU 由 CLA、INS P1、P2、DATA 组成)是 ISO 定义的用于验证 PIN 的内容,但是如何理解我做错了什么?

谢谢。

PS:顺便说一句,使用 P2="00" 我得到6A 83,找不到记录。

0 投票
1 回答
1068 浏览

smartcard - 使用相同的 T=1 APDU 发送和接收数据

我正在尝试发送一个包含一些命令数据的 APDU,然后期待一些来自卡的数据作为响应。我使用Ludovic Rousseau 的这个示例代码作为起点(下面的修改代码)。

我发送的 APDU 如下:

即我选择了 CLA 0x80、 INS 0x02,而不使用 P1 和 P2 、 Lc 和 Le 0x08

我取回的数据缓冲区仅包含0x90 0x00.

我已经检查了协商哪个协议 - 正如预期的那样,这是 T=1。如果是 T=0,我希望得到一个61XX系列的答案(请参阅这个相关问题)。

其他所有 APDU 格式都可以正常工作(即为空,仅发送或仅接收数据)。有什么我在这里忽略的吗?

这给出了输出:

当我尝试使用 Python 在 Python 中做同样的事情时pyscard,一切都按预期工作,即data, sw1, sw2 = connection.transmit(...)使用与输入相同的 APDU 字节进行调用使得data包含预期的数据。

这让我相信卡上的相关代码是好的(但为了完整性也在下面发布)。

0 投票
1 回答
3244 浏览

python - 如何通过python从智能卡中读取证书?

我有一张智能卡(实际上是 USB 令牌),上面写有一些证书和密钥。现在我需要在 Windows 上使用 python 来检索这个证书。如何实现?

我看了一下pyscard包,但它似乎太低级了,可能不是最简单的方法。但是,如果您知道低级别的答案,那么您的帮助将不胜感激。
似乎CryptAcquireContextpywin32(win32crypt)的功能允许我使用智能卡中的私钥进行加密,但我无法获得证书本身。

你有什么建议吗?

0 投票
1 回答
272 浏览

python - PyScard - 执行 GET RESPONSE 后获得的数据的解释是什么?

我正在尝试使用 pyScard 和 ISO 7816 命令找出联系人智能卡中的文件层次结构。

我做的第一件事是使用选择主文件(INS = 0xA4)

这将返回 ([ ], 0x61, 0x19) 这意味着我必须运行 GET_RESPONSE (INS = 0xC0) 命令才能获得答案。

为此,我运行

它返回一组字节(除了 0x90 00)。

如果我理解正确,通过运行 SELECT FILE,我选择了主文件,但我似乎没有找到对通过 GET RESPONSE 收到的那些字节的解释,这是什么意思?你如何解释它们?

谢谢!!:)