summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelie <elie>2009-08-21 16:10:34 +0000
committerelie <elie>2009-08-21 16:10:34 +0000
commitb0f43040aac2da6c005f6cb726101445ec960eee (patch)
tree9befbd15af0c26c7bfcda69dc05a1566efb42845
parentb3362bbf33afa787c63ee80033fa36c535c165f2 (diff)
downloadpysnmp-b0f43040aac2da6c005f6cb726101445ec960eee.tar.gz
attempt to use hashlib whenever available
-rw-r--r--pysnmp/proto/secmod/rfc3414/auth/hmacmd5.py15
-rw-r--r--pysnmp/proto/secmod/rfc3414/auth/hmacsha.py15
-rw-r--r--pysnmp/proto/secmod/rfc3414/localkey.py15
3 files changed, 30 insertions, 15 deletions
diff --git a/pysnmp/proto/secmod/rfc3414/auth/hmacmd5.py b/pysnmp/proto/secmod/rfc3414/auth/hmacmd5.py
index 5456ffc..76e2af1 100644
--- a/pysnmp/proto/secmod/rfc3414/auth/hmacmd5.py
+++ b/pysnmp/proto/secmod/rfc3414/auth/hmacmd5.py
@@ -1,4 +1,9 @@
-import string, md5
+try:
+ from hashlib import md5
+except ImportError:
+ import md5
+ md5 = md5.new
+import string
from pysnmp.proto.secmod.rfc3414.auth import base
from pysnmp.proto import error
@@ -44,10 +49,10 @@ class HmacMd5(base.AbstractAuthenticationService):
)
# 6.3.1.3
- d1 = md5.md5(k1+wholeMsg).digest()
+ d1 = md5(k1+wholeMsg).digest()
# 6.3.1.4
- d2 = md5.md5(k2+d1).digest()
+ d2 = md5(k2+d1).digest()
mac = d2[:12]
# 6.3.1.5 & 6
@@ -89,10 +94,10 @@ class HmacMd5(base.AbstractAuthenticationService):
)
# 6.3.2.5a
- d1 = md5.md5(k1+authenticatedWholeMsg).digest()
+ d1 = md5(k1+authenticatedWholeMsg).digest()
# 6.3.2.5b
- d2 = md5.md5(k2+d1).digest()
+ d2 = md5(k2+d1).digest()
# 6.3.2.5c
mac = d2[:12]
diff --git a/pysnmp/proto/secmod/rfc3414/auth/hmacsha.py b/pysnmp/proto/secmod/rfc3414/auth/hmacsha.py
index 533a4bb..44a2106 100644
--- a/pysnmp/proto/secmod/rfc3414/auth/hmacsha.py
+++ b/pysnmp/proto/secmod/rfc3414/auth/hmacsha.py
@@ -1,4 +1,9 @@
-import string, sha
+try:
+ from hashlib import sha1
+except ImportError:
+ import sha
+ sha1 = sha.new
+import string
from pysnmp.proto.secmod.rfc3414.auth import base
from pysnmp.proto import error
@@ -43,10 +48,10 @@ class HmacSha(base.AbstractAuthenticationService):
)
# 7.3.1.3
- d1 = sha.sha(k1+wholeMsg).digest()
+ d1 = sha1(k1+wholeMsg).digest()
# 7.3.1.4
- d2 = sha.sha(k2+d1).digest()
+ d2 = sha1(k2+d1).digest()
mac = d2[:12]
# 7.3.1.5 & 6
@@ -88,10 +93,10 @@ class HmacSha(base.AbstractAuthenticationService):
)
# 7.3.2.5a
- d1 = sha.sha(k1+authenticatedWholeMsg).digest()
+ d1 = sha1(k1+authenticatedWholeMsg).digest()
# 7.3.2.5b
- d2 = sha.sha(k2+d1).digest()
+ d2 = sha1(k2+d1).digest()
# 7.3.2.5c
mac = d2[:12]
diff --git a/pysnmp/proto/secmod/rfc3414/localkey.py b/pysnmp/proto/secmod/rfc3414/localkey.py
index fced482..018f724 100644
--- a/pysnmp/proto/secmod/rfc3414/localkey.py
+++ b/pysnmp/proto/secmod/rfc3414/localkey.py
@@ -1,9 +1,14 @@
# Convert plaintext passphrase into a localized key
-import md5, sha
+try:
+ from hashlib import md5, sha1
+except ImportError:
+ import md5, sha
+ md5 = md5.new
+ sha1 = sha.new
# RFC3414: A.2.1
def hashPassphraseMD5(passphrase):
- md = md5.new()
+ md = md5()
ringBuffer = passphrase * (64/len(passphrase)+1)
ringBufferLen = len(ringBuffer)
count = 0
@@ -22,14 +27,14 @@ def hashPassphraseMD5(passphrase):
return md.digest()
def localizeKeyMD5(passKey, snmpEngineId):
- return md5.new('%s%s%s' % (passKey, str(snmpEngineId), passKey)).digest()
+ return md5('%s%s%s' % (passKey, str(snmpEngineId), passKey)).digest()
def passwordToKeyMD5(passphrase, snmpEngineId):
return localizeKeyMD5(hashPassphraseMD5(passphrase), snmpEngineId)
# RFC3414: A.2.2
def hashPassphraseSHA(passphrase):
- md = sha.new()
+ md = sha1()
ringBuffer = passphrase * (64/len(passphrase)+1)
ringBufferLen = len(ringBuffer)
count = 0
@@ -48,7 +53,7 @@ def hashPassphraseSHA(passphrase):
return md.digest()
def localizeKeySHA(passKey, snmpEngineId):
- return sha.new('%s%s%s' % (passKey, str(snmpEngineId), passKey)).digest()
+ return sha1('%s%s%s' % (passKey, str(snmpEngineId), passKey)).digest()
def passwordToKeySHA(passphrase, snmpEngineId):
return localizeKeySHA(hashPassphraseSHA(passphrase), snmpEngineId)