def __init__(self, topic, host, conf, key=None, key_store=None, encrypt=None, enctype='AES', hashtype='SHA256'): conf.register_group(secure_message_group) conf.register_opts(secure_message_opts, group='secure_messages') self._name = '%s.%s' % (topic, host) self._key = key self._conf = conf.secure_messages self._encrypt = self._conf.encrypt if (encrypt is None) else encrypt self._crypto = cryptoutils.SymmetricCrypto(enctype, hashtype) self._hkdf = cryptoutils.HKDF(hashtype) self._kds = _KDSClient(self._conf.kds_endpoint) if self._key is None: self._key = self._init_key(topic, self._name) if self._key is None: err = "Secret Key (or key file) is missing or malformed" raise SharedKeyNotFound(self._name, err) self._key_store = key_store or _KEY_STORE
def encrypt(auth_info): if auth_info is None: return None, None sym = utils.SymmetricCrypto() res = sym.encrypt(cfg.CONF.auth_encryption_key[:32], auth_info, b64encode=True) return 'oslo_decrypt_v1', res
def oslo_decrypt_v1(auth_info): if auth_info is None: return None sym = utils.SymmetricCrypto() return sym.decrypt(cfg.CONF.auth_encryption_key[:32], auth_info, b64decode=True)
def oslo_decrypt_v1(value, encryption_key=None): encryption_key = get_valid_encryption_key(encryption_key) sym = utils.SymmetricCrypto() return sym.decrypt(encryption_key, value, b64decode=True)