1 /* $NetBSD: entropy_private.h,v 1.1 2024/02/18 20:57:48 christos Exp $ */ 2 3 /* 4 * Copyright (C) Internet Systems Consortium, Inc. ("ISC") 5 * 6 * SPDX-License-Identifier: MPL-2.0 7 * 8 * This Source Code Form is subject to the terms of the Mozilla Public 9 * License, v. 2.0. If a copy of the MPL was not distributed with this 10 * file, you can obtain one at https://mozilla.org/MPL/2.0/. 11 * 12 * See the COPYRIGHT file distributed with this work for additional 13 * information regarding copyright ownership. 14 */ 15 16 #pragma once 17 18 #include <stdlib.h> 19 20 #include <isc/lang.h> 21 22 /*! \file isc/entropy_private.h 23 * \brief Implements wrapper around CSPRNG cryptographic library calls 24 * for getting cryptographically secure pseudo-random numbers. 25 * 26 * - If OpenSSL is used, it uses RAND_bytes() 27 * - If PKCS#11 is used, it uses pkcs_C_GenerateRandom() 28 * 29 */ 30 31 ISC_LANG_BEGINDECLS 32 33 void 34 isc_entropy_get(void *buf, size_t buflen); 35 /*!< 36 * \brief Get cryptographically-secure pseudo-random data. 37 */ 38 39 ISC_LANG_ENDDECLS 40