From 09467b61a18242743d86d5491ccb2fd1e69aa1a3 Mon Sep 17 00:00:00 2001 From: hploetz Date: Tue, 13 Feb 2007 13:47:40 +0000 Subject: [PATCH] read_dg, read_sod and read_com commands git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@182 f711b948-2313-0410-aaa9-d29f33439f0b --- cards/passport_application.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/cards/passport_application.py b/cards/passport_application.py index bf5a99a..cc87c1b 100644 --- a/cards/passport_application.py +++ b/cards/passport_application.py @@ -231,9 +231,27 @@ class Passport_Application(Application): def get_prompt(self): return "(%s)%s" % (self.DRIVER_NAME, self.se and "[SM]" or "") + def _read_ef(self, fid): + result = self.open_file(fid, 0x0c) + if not result.sw == "\x6a\x82": + self.cmd_cat() + self.cmd_parsetlv() + + def cmd_read_com(self): + "Read EF.COM" + return self._read_ef("\x01\x1e") + def cmd_read_sod(self): + "Read EF.SOD" + return self._read_ef("\x01\x1d") + def cmd_read_dg(self, dg): + "Read EF.DGx" + return self._read_ef("\x01"+chr(int(dg,0))) COMMANDS = { "perform_bac": cmd_perform_bac, + "read_com": cmd_read_com, + "read_sod": cmd_read_sod, + "read_dg": cmd_read_dg, } DATA_GROUPS = {