using if/else instead of a dedicated handler for eac steps
git-svn-id: https://vsmartcard.svn.sourceforge.net/svnroot/vsmartcard@672 96b47cad-a561-4643-ad3b-153ac7d7599c
This commit is contained in:
@@ -65,12 +65,6 @@ class nPA_SAM(SAM):
|
|||||||
self.eac_step = 0
|
self.eac_step = 0
|
||||||
self.eac_ctx = None
|
self.eac_ctx = None
|
||||||
self.sec = None
|
self.sec = None
|
||||||
self.step2handler = {
|
|
||||||
0: self.__eac_pace_step1,
|
|
||||||
1: self.__eac_pace_step2,
|
|
||||||
2: self.__eac_pace_step3,
|
|
||||||
3: self.__eac_pace_step4,
|
|
||||||
}
|
|
||||||
self.pin = pin
|
self.pin = pin
|
||||||
self.can = can
|
self.can = can
|
||||||
self.mrz = mrz
|
self.mrz = mrz
|
||||||
@@ -83,7 +77,16 @@ class nPA_SAM(SAM):
|
|||||||
if (p1, p2) != (0x00, 0x00):
|
if (p1, p2) != (0x00, 0x00):
|
||||||
raise SwError(SW["ERR_INCORRECTPARAMETERS"])
|
raise SwError(SW["ERR_INCORRECTPARAMETERS"])
|
||||||
|
|
||||||
return self.step2handler.get(self.eac_step, notImplemented)(data)
|
if (self.eac_step == 0):
|
||||||
|
return self.__eac_pace_step1(data)
|
||||||
|
elif (self.eac_step == 1):
|
||||||
|
return self.__eac_pace_step2(data)
|
||||||
|
elif (self.eac_step == 2):
|
||||||
|
return self.__eac_pace_step3(data)
|
||||||
|
elif (self.eac_step == 3):
|
||||||
|
return self.__eac_pace_step4(data)
|
||||||
|
|
||||||
|
raise SwError(SW["ERR_INCORRECTPARAMETERS"])
|
||||||
|
|
||||||
def __eac_abort(self):
|
def __eac_abort(self):
|
||||||
pace.EAC_CTX_clear_free(self.eac_ctx)
|
pace.EAC_CTX_clear_free(self.eac_ctx)
|
||||||
@@ -188,4 +191,6 @@ class nPA_SAM(SAM):
|
|||||||
|
|
||||||
self.eac_step += 1
|
self.eac_step += 1
|
||||||
|
|
||||||
|
# TODO activate SM
|
||||||
|
|
||||||
return 0x9000, nPA_SAM.__pack_general_authenticate([[0x86, len(my_token), my_token]])
|
return 0x9000, nPA_SAM.__pack_general_authenticate([[0x86, len(my_token), my_token]])
|
||||||
|
|||||||
Reference in New Issue
Block a user