From c9c3d138525897025c44017883dbdef51e64a39e Mon Sep 17 00:00:00 2001 From: Ilya Etingof Date: Sun, 21 Aug 2016 23:38:59 +0200 Subject: [PATCH] Fixes to key localization code for AES192/256 --- pysnmp/proto/secmod/eso/priv/aesbase.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pysnmp/proto/secmod/eso/priv/aesbase.py b/pysnmp/proto/secmod/eso/priv/aesbase.py index 1693064f5..265bf4e1c 100644 --- a/pysnmp/proto/secmod/eso/priv/aesbase.py +++ b/pysnmp/proto/secmod/eso/priv/aesbase.py @@ -67,13 +67,13 @@ def localizeKey(self, authProtocol, privKey, snmpEngineID): localPrivKey = localkey.localizeKeyMD5(privKey, snmpEngineID) # now extend this key if too short by repeating steps that includes the hashPassphrase step while len(localPrivKey) < self.keySize: - newKey = hashPassphraseMD5(localPrivKey) # this is the difference between reeder and bluementhal - localPrivKey += localizeKeyMD5(newKey, snmpEngineID) + newKey = localkey.hashPassphraseMD5(localPrivKey) # this is the difference between reeder and bluementhal + localPrivKey += localkey.localizeKeyMD5(newKey, snmpEngineID) elif authProtocol == hmacsha.HmacSha.serviceID: localPrivKey = localkey.localizeKeySHA(privKey, snmpEngineID) - while len(localPrivKey < self.keySize): - newKey = hashPassphraseSHA(localPrivKey) - localPrivKey += localizeKeySHA(newKey, snmpEngineID) + while len(localPrivKey) < self.keySize: + newKey = localkey.hashPassphraseSHA(localPrivKey) + localPrivKey += localkey.localizeKeySHA(newKey, snmpEngineID) else: raise error.ProtocolError( 'Unknown auth protocol %s' % (authProtocol,)