Skip to main content
  • Home
  • login
  • Browse the archive

    swh mirror partner logo
swh logo
SoftwareHeritage
Software
Heritage
Mirror
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

  • c1cb193
  • /
  • doc
  • /
  • internal
  • /
  • man3
  • /
  • ossl_rand_get_entropy.pod
Raw File
Permalinks

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • content
  • directory
content badge Iframe embedding
swh:1:cnt:4da3f1f4d9db5f80e2769bbc95d8b1f4bd40854f
directory badge Iframe embedding
swh:1:dir:47f9e9901f159e6b98440719cb7f99767c17e67e
ossl_rand_get_entropy.pod
=pod

=head1 NAME

ossl_rand_get_entropy, ossl_rand_cleanup_entropy,
ossl_rand_get_nonce, ossl_rand_cleanup_nonce
- get seed material from the operating system

=head1 SYNOPSIS

 #include "crypto/rand.h"

 size_t ossl_rand_get_entropy(OSSL_CORE_HANDLE *handle,
                              unsigned char **pout, int entropy,
                              size_t min_len, size_t max_len);
 void ossl_rand_cleanup_entropy(OSSL_CORE_HANDLE *handle,
                                unsigned char *buf, size_t len);
 size_t ossl_rand_get_nonce(OSSL_CORE_HANDLE *handle,
                            unsigned char **pout, size_t min_len,
                            size_t max_len, const void *salt, size_t salt_len);
 void ossl_rand_cleanup_nonce(OSSL_CORE_HANDLE *handle,
                              unsigned char *buf, size_t len);

=head1 DESCRIPTION

ossl_rand_get_entropy() retrieves seeding material from the operating system.
The seeding material will have at least I<entropy> bytes of randomness and is
stored in a buffer which contains at least I<min_len> and at most I<max_len>
bytes.  The buffer address is stored in I<*pout> and the buffer length is
returned to the caller.

ossl_rand_cleanup_entropy() cleanses and frees any storage allocated by
ossl_rand_get_entropy().  The seeding buffer is pointed to by I<buf> and is
of length I<len> bytes.

ossl_rand_get_nonce() retrieves a nonce using the passed I<salt> parameter
of length I<salt_len> and operating system specific information.
The I<salt> should contain uniquely identifying information and this is
included, in an unspecified manner, as part of the output.
The output is stored in a buffer which contains at least I<min_len> and at
most I<max_len> bytes.  The buffer address is stored in I<*pout> and the
buffer length returned to the caller.

ossl_rand_cleanup_nonce() cleanses and frees any storage allocated by
ossl_rand_get_nonce().  The nonce buffer is pointed to by I<buf> and is
of length I<len> bytes.

=head1 RETURN VALUES

ossl_rand_get_entropy() and ossl_rand_get_nonce() return the number of bytes
in I<*pout> or 0 on error.

=head1 HISTORY

The functions described here were all added in OpenSSL 3.0.

=head1 COPYRIGHT

Copyright 2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the "License").  You may not use
this file except in compliance with the License.  You can obtain a copy
in the file LICENSE in the source distribution or at
L<https://www.openssl.org/source/license.html>.

=cut

ENEA — Copyright (C), ENEA. License: GNU AGPLv3+.
Legal notes  ::  JavaScript license information ::  Web API

back to top