From 9c53f1bbf474b9f5bb6f88cc3503eec3a9b1c0c9 Mon Sep 17 00:00:00 2001 From: Dominik Date: Wed, 23 Jul 2014 21:49:12 +0200 Subject: [PATCH] Fix calls to virtualsmartcard.CryptoUtils.append_padding The interface to append_padding changed some time ago but not all calls have been adapted yet. --- virtualsmartcard/src/vpicc/virtualsmartcard/SmartcardSAM.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/virtualsmartcard/src/vpicc/virtualsmartcard/SmartcardSAM.py b/virtualsmartcard/src/vpicc/virtualsmartcard/SmartcardSAM.py index d35424c..59048b2 100644 --- a/virtualsmartcard/src/vpicc/virtualsmartcard/SmartcardSAM.py +++ b/virtualsmartcard/src/vpicc/virtualsmartcard/SmartcardSAM.py @@ -224,7 +224,8 @@ class SAM(object): else: cipher = get_referenced_cipher(p1) - reference = vsCrypto.append_padding(cipher, self.last_challenge) + blocklen = vsCrypto.get_cipher_blocklen(cipher) + reference = vsCrypto.append_padding(blocklen, self.last_challenge) reference = vsCrypto.encrypt(cipher, key, reference) if(reference == data): #Invalidate last challenge @@ -371,7 +372,8 @@ if __name__ == "__main__": print("Counter = " + str(MyCard.counter)) sw, challenge = MyCard.get_challenge(0x00, 0x00, "") print("Before encryption: " + challenge) - padded = vsCrypto.append_padding("DES3-ECB", challenge) + blocklen = vsCrypto.get_cipher_blocklen("DES3-ECB") + padded = vsCrypto.append_padding(blocklen, challenge) sw, result_data = MyCard.internal_authenticate(0x00, 0x00, padded) print("Internal Authenticate status code: %x" % sw)