NAME
CSSM_GenerateRandom, CSP_GenerateRandom function — Generate random data (CDSA)
SYNOPSIS
# include <cssm.h>
API: CSSM_RETURN CSSMAPI CSSM_GenerateRandom (CSSM_CC_HANDLE CCHandle, CSSM_DATA_PTR RandomNumber) SPI: CSSM_RETURN CSSMCSPI CSP_GenerateRandom (CSSM_CSP_HANDLE CSPHandle, CSSM_CC_HANDLE CCHandle, const CSSM_CONTEXT *Context, CSSM_DATA_PTR RandomNumber)
|
LIBRARY
Common Security Services Manager library (cdsa$incssm300_shr.exe)
API PARAMETERS
CCHandle (input) | | The handle that describes the context of this cryptographic
operation used to link to the CSP-managed information. |
RandomNumber (output) |
| | Pointer to CSSM_DATA structure used to obtain the
random number and the size of the random number in bytes. |
SPI PARAMETERS
CSPHandle (input) |
| | The handle that describes the add-in Cryptographic
Service Provider module used to perform calls to CSSM for the memory
functions managed by CSSM. |
Context (input) | | Pointer to CSSM_CONTEXT structure that describes
the attributes with this context. |
DESCRIPTION
This function generates random data.
NOTES ON API
The output is returned to the caller either by filling the
caller-specified buffer or by using the application's declared memory
allocation functions to allocate buffer space. To specify a specific,
preallocated output buffer, the caller must provide an array of
one or more CSSM_DATA structures, each containing a Length field
value greater than zero and a non-NULL data pointer field value.
To specify automatic output buffer allocation by the CSP, the caller
must provide an array of one or more CSSM_DATA structures, each
containing a Length field value equal to zero and a NULL data pointer
field value. The application is always responsible for deallocating
the memory when it is no longer needed.
NOTES ON SPI
The output is returned to the caller as specified in Buffer
Management for Cryptographic Services.
RETURN VALUE
A CSSM_RETURN value indicating success or specifying a particular
error condition. The value CSSM_OK indicates success. All other
values represent an error condition.
ERRORS
Errors are described in the CDSA Technical Standard.
None specific to this call.
SEE ALSO
Books
Intel CDSA Application Developer's Guide