From 6329de4cc2165cc1cb804afbb5566f48d3089a98 Mon Sep 17 00:00:00 2001 From: Ilya Etingof Date: Thu, 21 Dec 2017 13:08:40 +0100 Subject: cosmetic code fixes --- pysnmp/proto/secmod/rfc3414/localkey.py | 10 ++++++++++ pysnmp/proto/secmod/rfc7860/auth/hmacsha2.py | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'pysnmp') diff --git a/pysnmp/proto/secmod/rfc3414/localkey.py b/pysnmp/proto/secmod/rfc3414/localkey.py index c87dff65..9bee1edf 100644 --- a/pysnmp/proto/secmod/rfc3414/localkey.py +++ b/pysnmp/proto/secmod/rfc3414/localkey.py @@ -6,12 +6,14 @@ # try: from hashlib import md5, sha1 + except ImportError: import md5 import sha md5 = md5.new sha1 = sha.new + from pyasn1.type import univ @@ -37,30 +39,38 @@ def hashPassphrase(passphrase, hashFunc): count += 1 return hasher.digest() + def passwordToKey(passphrase, snmpEngineId, hashFunc): return localizeKey(hashPassphrase(passphrase, hashFunc), snmpEngineId, hashFunc) + def localizeKey(passKey, snmpEngineId, hashFunc): passKey = univ.OctetString(passKey).asOctets() # noinspection PyDeprecation,PyCallingNonCallable return hashFunc(passKey + snmpEngineId.asOctets() + passKey).digest() + # RFC3414: A.2.1 def hashPassphraseMD5(passphrase): return hashPassphrase(passphrase, md5) + # RFC3414: A.2.2 def hashPassphraseSHA(passphrase): return hashPassphrase(passphrase, sha1) + def passwordToKeyMD5(passphrase, snmpEngineId): return localizeKey(hashPassphraseMD5(passphrase), snmpEngineId, md5) + def passwordToKeySHA(passphrase, snmpEngineId): return localizeKey(hashPassphraseMD5(passphrase), snmpEngineId, sha1) + def localizeKeyMD5(passKey, snmpEngineId): return localizeKey(passKey, snmpEngineId, md5) + def localizeKeySHA(passKey, snmpEngineId): return localizeKey(passKey, snmpEngineId, sha1) diff --git a/pysnmp/proto/secmod/rfc7860/auth/hmacsha2.py b/pysnmp/proto/secmod/rfc7860/auth/hmacsha2.py index 412b2939..32fdfa02 100644 --- a/pysnmp/proto/secmod/rfc7860/auth/hmacsha2.py +++ b/pysnmp/proto/secmod/rfc7860/auth/hmacsha2.py @@ -11,11 +11,11 @@ try: except ImportError: - class NotAvalable(object): + class NotAvailable(object): def __call__(self, *args, **kwargs): raise errind.authenticationError - sha224 = sha256 = sha384 = sha512 = NotAvalable() + sha224 = sha256 = sha384 = sha512 = NotAvailable() from pyasn1.type import univ from pysnmp.proto.secmod.rfc3414.auth import base -- cgit v1.2.1