Kea 2.6.0
crypto_rng.h
Go to the documentation of this file.
1// Copyright (C) 2018-2024 Internet Systems Consortium, Inc. ("ISC")
2//
3// This Source Code Form is subject to the terms of the Mozilla Public
4// License, v. 2.0. If a copy of the MPL was not distributed with this
5// file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
7#include <boost/noncopyable.hpp>
8
10
11#ifndef ISC_CRYPTO_RNG_H
12#define ISC_CRYPTO_RNG_H
13
14namespace isc {
15namespace cryptolink {
16
22class RNG : private boost::noncopyable {
23public:
28 RNG();
29
31 virtual ~RNG();
32
42 virtual std::vector<uint8_t> random(size_t len) = 0;
43
44private:
45 friend RNGPtr const& CryptoLink::getRNG() const;
46};
47
58std::vector<uint8_t> random(size_t len);
59
63uint16_t generateQid();
64
65} // namespace cryptolink
66} // namespace isc
67
68#endif // ISC_CRYPTO_RNG_H
69
Defines the logger used by the top-level component of kea-lfc.