/* * Copyright (C) 2015 ScyllaDB * */ /* * SPDX-License-Identifier: LicenseRef-ScyllaDB-Source-Available-1.0 */ #pragma once #include "encryption.hh" #include "../../bytes.hh" namespace encryption { class symmetric_key; class system_key { public: virtual ~system_key() {} virtual future> get_key() = 0; virtual const sstring& name() const = 0; virtual bool is_local() const = 0; virtual future<> validate() const; future encrypt(const sstring&); future decrypt(const sstring&); future encrypt(const bytes&); future decrypt(const bytes&); }; }