aboutsummaryrefslogtreecommitdiffstats
path: root/cards/generic_card.py
diff options
context:
space:
mode:
authorhenryk <henryk@f711b948-2313-0410-aaa9-d29f33439f0b>2005-09-30 04:39:01 +0000
committerhenryk <henryk@f711b948-2313-0410-aaa9-d29f33439f0b>2005-09-30 04:39:01 +0000
commitbed37517c6dcf0121e3da5e47962ed5a491ec47c (patch)
treee7f87523e807505d9dfcc4007a9beac7e3c31e80 /cards/generic_card.py
parent2d8068b0e34d60c0d5bdfe6e5637d89786cd3ec1 (diff)
reset command
git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@27 f711b948-2313-0410-aaa9-d29f33439f0b
Diffstat (limited to 'cards/generic_card.py')
-rw-r--r--cards/generic_card.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/cards/generic_card.py b/cards/generic_card.py
index 4200b53..961b32e 100644
--- a/cards/generic_card.py
+++ b/cards/generic_card.py
@@ -38,7 +38,12 @@ class Card:
pin_value = binascii.a2b_hex("".join(args[1].split()))
self.verify_pin(pin_number, pin_value)
+ def cmd_reset(self, *args):
+ self.card.reconnect(init=pycsc.SCARD_RESET_CARD)
+
COMMANDS = {
+ "reset": (cmd_reset, "reset",
+ """Reset the card."""),
"verify": (cmd_verify, "verify pin_number pin_value",
"""Verify a PIN.""")
}
@@ -64,7 +69,8 @@ class Card:
return result
def send_apdu(self, apdu):
- apdu = apdu.get_string() ## FIXME
+ if isinstance(apdu, APDU):
+ apdu = apdu.get_string() ## FIXME
if not Card._check_apdu(apdu):
raise Exception, "Invalid APDU"
if DEBUG: