そのため、会社から提供されたチップ付きのクレジットカードのようなスマートカードを持っています。このカードは、カードがカード リーダーに挿入された後、Web サイトにログインします。
ここで、カードを読み取り、Requests
モジュールを使用してその Web サイトにログインできるプログラムを Python で作成する必要があります。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 を送信しました。これは、ある種の内部認証用です (この認証データは、Web サイトへのログインに使用されると想定しています)。
data = []
sw1 = 110
sw2 = 00
ISO 7816 でこの応答の意味を見つけることができませんでした。ここからさらに先に進むための正しいアプローチまたはヒントがあるかどうか誰か教えてもらえますか? 要するに、Python スクリプトとスマート カードを使用して Web サイトにログインする方法を知りたいですか?