Files
scylladb/ent/encryption/kmip_key_provider.hh
Avi Kivity 0ae22a09d4 LICENSE: Update to version 1.1
Updated terms of non-commercial use (must be a never-customer).
2026-04-12 19:46:33 +03:00

41 lines
831 B
C++

/*
* Copyright (C) 2018 ScyllaDB
*
*/
/*
* SPDX-License-Identifier: LicenseRef-ScyllaDB-Source-Available-1.1
*/
#pragma once
#include "encryption.hh"
#include "system_key.hh"
namespace encryption {
class kmip_key_provider_factory : public key_provider_factory {
public:
shared_ptr<key_provider> get_provider(encryption_context&, const options&) override;
};
class kmip_host;
class kmip_system_key : public system_key {
shared_ptr<symmetric_key> _key;
shared_ptr<kmip_host> _host;
sstring _name;
public:
kmip_system_key(encryption_context&, const sstring&);
~kmip_system_key();
static bool is_kmip_path(const sstring&);
future<shared_ptr<symmetric_key>> get_key() override;
const sstring& name() const override;
bool is_local() const override {
return false;
}
};
}