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

2024-04-26 08:01:02 发布

您现在位置:Python中文网/ 问答频道 /正文

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

现在我必须用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(来源:ISO 7816)中发送了命令88,用于某种内部身份验证(我假设此身份验证数据用于登录网站),但我得到以下响应:

data = []
sw1 = 110
sw2 = 00

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


Tags: 数据fromimport脚本身份验证dfdata网站