summaryrefslogtreecommitdiff
path: root/pysnmp/proto/secmod/rfc3414/auth/hmacmd5.py
diff options
context:
space:
mode:
Diffstat (limited to 'pysnmp/proto/secmod/rfc3414/auth/hmacmd5.py')
-rw-r--r--pysnmp/proto/secmod/rfc3414/auth/hmacmd5.py34
1 files changed, 20 insertions, 14 deletions
diff --git a/pysnmp/proto/secmod/rfc3414/auth/hmacmd5.py b/pysnmp/proto/secmod/rfc3414/auth/hmacmd5.py
index edd6d916..38f34483 100644
--- a/pysnmp/proto/secmod/rfc3414/auth/hmacmd5.py
+++ b/pysnmp/proto/secmod/rfc3414/auth/hmacmd5.py
@@ -8,21 +8,23 @@ try:
from hashlib import md5
except ImportError:
import md5
+
md5 = md5.new
from pyasn1.type import univ
from pysnmp.proto.secmod.rfc3414.auth import base
from pysnmp.proto.secmod.rfc3414 import localkey
from pysnmp.proto import errind, error
-_twelveZeros = univ.OctetString((0,)*12).asOctets()
-_fortyEightZeros = (0,)*48
+_twelveZeros = univ.OctetString((0,) * 12).asOctets()
+_fortyEightZeros = (0,) * 48
+
# rfc3414: 6.2.4
class HmacMd5(base.AbstractAuthenticationService):
serviceID = (1, 3, 6, 1, 6, 3, 10, 1, 1, 2) # usmHMACMD5AuthProtocol
- __ipad = [0x36]*64
- __opad = [0x5C]*64
+ __ipad = [0x36] * 64
+ __opad = [0x5C] * 64
def hashPassphrase(self, authKey):
return localkey.hashPassphraseMD5(authKey)
@@ -40,7 +42,7 @@ class HmacMd5(base.AbstractAuthenticationService):
if l == -1:
raise error.ProtocolError('Cant locate digest placeholder')
wholeHead = wholeMsg[:l]
- wholeTail = wholeMsg[l+12:]
+ wholeTail = wholeMsg[l + 12:]
# 6.3.1.1
@@ -51,21 +53,23 @@ class HmacMd5(base.AbstractAuthenticationService):
# 6.3.1.2c
k1 = univ.OctetString(
- map(lambda x, y: x^y, extendedAuthKey, self.__ipad)
+ map(lambda x, y: x ^ y, extendedAuthKey, self.__ipad)
)
# 6.3.1.2d --> noop
# 6.3.1.2e
k2 = univ.OctetString(
- map(lambda x, y: x^y, extendedAuthKey, self.__opad)
+ map(lambda x, y: x ^ y, extendedAuthKey, self.__opad)
)
# 6.3.1.3
- d1 = md5(k1.asOctets()+wholeMsg).digest()
+ # noinspection PyDeprecation,PyCallingNonCallable
+ d1 = md5(k1.asOctets() + wholeMsg).digest()
# 6.3.1.4
- d2 = md5(k2.asOctets()+d1).digest()
+ # noinspection PyDeprecation,PyCallingNonCallable
+ d2 = md5(k2.asOctets() + d1).digest()
mac = d2[:12]
# 6.3.1.5 & 6
@@ -84,7 +88,7 @@ class HmacMd5(base.AbstractAuthenticationService):
if l == -1:
raise error.ProtocolError('Cant locate digest in wholeMsg')
wholeHead = wholeMsg[:l]
- wholeTail = wholeMsg[l+12:]
+ wholeTail = wholeMsg[l + 12:]
authenticatedWholeMsg = wholeHead + _twelveZeros + wholeTail
# 6.3.2.4a
@@ -94,21 +98,23 @@ class HmacMd5(base.AbstractAuthenticationService):
# 6.3.2.4c
k1 = univ.OctetString(
- map(lambda x, y: x^y, extendedAuthKey, self.__ipad)
+ map(lambda x, y: x ^ y, extendedAuthKey, self.__ipad)
)
# 6.3.2.4d --> noop
# 6.3.2.4e
k2 = univ.OctetString(
- map(lambda x, y: x^y, extendedAuthKey, self.__opad)
+ map(lambda x, y: x ^ y, extendedAuthKey, self.__opad)
)
# 6.3.2.5a
- d1 = md5(k1.asOctets()+authenticatedWholeMsg).digest()
+ # noinspection PyDeprecation,PyCallingNonCallable
+ d1 = md5(k1.asOctets() + authenticatedWholeMsg).digest()
# 6.3.2.5b
- d2 = md5(k2.asOctets()+d1).digest()
+ # noinspection PyDeprecation,PyCallingNonCallable
+ d2 = md5(k2.asOctets() + d1).digest()
# 6.3.2.5c
mac = d2[:12]