diff options
author | Christian Pointner <equinox@spreadspace.org> | 2022-09-15 00:18:28 +0200 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2022-09-15 01:48:23 +0200 |
commit | 243117389cca916b2b9bd57a550f2a27a628ce15 (patch) | |
tree | 12aa3c395bc18fd3b24b3e1728f2625c4434f405 /filter_plugins | |
parent | ch-router: upgrade to openwrt 22.03 and enable ntp-server for mgmt vlan (diff) |
accesspoints: initial tests with 802.11r
Diffstat (limited to 'filter_plugins')
-rw-r--r-- | filter_plugins/crypto.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/filter_plugins/crypto.py b/filter_plugins/crypto.py index b3dc32c4..54547a34 100644 --- a/filter_plugins/crypto.py +++ b/filter_plugins/crypto.py @@ -2,6 +2,7 @@ from __future__ import (absolute_import, division, print_function) __metaclass__ = type import hashlib +from binascii import hexlify from passlib.utils.binary import Base64Engine, HASH64_CHARS, BCRYPT_CHARS from ansible.module_utils._text import to_bytes, to_text from ansible import errors @@ -41,6 +42,17 @@ def bcrypt_salt(seed): raise errors.AnsibleFilterError("bcrypt_salt(): %s" % str(e)) +def wifi_80211r_key(seed): + ''' generate keys 802.11r r0kh and r1kh keys based on seed-value ''' + try: + h = hashlib.new('sha256') + h.update(to_bytes(seed, errors='surrogate_or_strict')) + return to_text(hexlify(h.digest())) + + except Exception as e: + raise errors.AnsibleFilterError("wifi_80211r_key(): %s" % str(e)) + + class FilterModule(object): ''' crypto helpers ''' @@ -49,6 +61,7 @@ class FilterModule(object): 'sha256_salt': sha2_crypt_salt, 'sha512_salt': sha2_crypt_salt, 'bcrypt_salt': bcrypt_salt, + 'wifi_80211r_key': wifi_80211r_key, } def filters(self): |