python - 在 python 中使用智能卡在网站上进行身份验证

标签 python python-3.x authentication apdu pyscard

所以我有一张公司提供的智能卡,它看起来像一张带芯片的信用卡。
此卡在插入读卡器后登录网站。

现在我必须用python编写一个程序,它可以读取卡片并使用Requests登录该网站。模块。
我试图找出如何使用 python 脚本从卡中检索此身份验证数据,然后使用此数据,但我部分成功。我安装了pyscard :

from smartcard.System import readers
from smartcard.util import toHexString

r=readers()
print(r)

connection = r[0].createConnection()
connection.connect()
SELECT = [0xA0, 0x88, 0x00, 0x00] # CLA, INS, P1, P2
DF_TELECOM = [ 0x02, 0x7F, 0x10]  # Lc, Data, Le
data, sw1, sw2 = connection.transmit( SELECT + DF_TELECOM )

到目前为止,我能够传输数据并从卡中检索一些数据。
我在 INS 中发送了命令 88 (来源:ISO 7816)这是用于某种内部身份验证(我假设此身份验证数据用于登录网站)但我得到以下响应:
data = []
sw1 = 110
sw2 = 00

我在 ISO 7816 中找不到此响应的含义。有人可以告诉我我是否有正确的方法或提示可以从这里继续前进吗?简而言之,我想知道如何使用 python 脚本和智能卡登录网站?

最佳答案

基本上,您得到的响应本质上是“6E00”,这意味着“不支持类”,只需将“INS”值替换为 0x00 就可以了

关于python - 在 python 中使用智能卡在网站上进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60112869/

相关文章:

python : easy way to do geometric mean in python?

python - 在 python 上 move 一个点

python - 从简单的 pandas 数据帧创建矩阵

python-3.x - 从月平均数据帧到插值的每日时间序列

node.js - 如何在 node.js 中实现登录身份验证

c# - 使用C#登录数据库验证

python - 如何快速将 ID 重新映射到连续数字

python - 无法使用声音设备录制声音

python - 查找具有特定文本的 href 子级

php - 使用 PHP 和 javaScript 的登录解决方案的密码散列