Previous section.

Common Security: CDSA and CSSM
Copyright © 1997 The Open Group

NAME

CSP_SignData

SYNOPSIS

CSSM_RETURN CSSMSPI CSP_SignData
    (CSSM_CSP_HANDLE CSPHandle,
    CSSM_CC_HANDLE CCHandle,
    const CSSM_CONTEXT_PTR Context,
    const CSSM_DATA_PTR DataBufs,
    uint32 DataBufCount,
    CSSM_DATA_PTR Signature)

DESCRIPTION

This function signs data using the private key.

PARAMETERS

CSPHandle (input)

The handle that describes the add-in cryptographic service provider module used to perform up calls to CSSM for the memory functions managed by CSSM.

CCHandle (input)

The handle that describes the context of this cryptographic operation used to link to the CSP-managed information.

Context (input)

Pointer to CSSM_CONTEXT structure that describes the attributes with this context.

DataBufs (input)

A pointer to one or more CSSM_DATA structures containing the data to be signed.

DataBufCount (input)

The number of DataBufs to be signed.

Signature (output)

A pointer to the CSSM_DATA structure for the signature.

RETURN VALUE

A CSSM return value. This function returns CSSM_OK if successful and returns an error code if an error has occurred.

ERRORS

CSSM_CSP_INVALID_CSP_HANDLE

Invalid CSP handle.

CSSM_CSP_INVALID_CONTEXT_HANDLE

Invalid context handle.

CSSM_CSP_INVALID_CONTEXT_POINTER

Invalid context pointer.

CSSM_CSP_INVALID_DATA_POINTER

Invalid pointer.

CSSM_CSP_INVALID_DATA_COUNT

Invalid data count.

CSSM_CSP_INVALID_CALLBACK

Invalid call back function.

CSSM_CSP_SIGN_UNKNOWN_ALGORITHM

Unknown algorithm.

CSSM_CSP_OPERATION_UNSUPPORTED

Service not supported.

CSSM_CSP_SIGN_FAILED

Sign failed.

CSSM_CSP_PRIKEY_NOT_FOUND

Cannot find the corresponding private key.

CSSM_CSP_PASSWORD_INCORRECT

Password incorrect.

CSSM_CSP_PASSWORD_NO_PARAM

No password or callback function provided.

CSSM_CSP_UNWRAP_FAILED

Unwrapped the private key failed.

CSSM_CSP_NOT_ENOUGH_BUFFER

The output buffer is not big enough.

CSSM_CSP_MEMORY_ERROR

Not enough memory to allocate.

CSSM_CSP_VECTOROFBUFS_UNSUPPORTED

Supports only a single buffer of input.

Comments

The output can be obtained either by filling the caller-supplied buffer or using the application's memory allocation functions to allocate space, application has to free the memory in this case. If the output buffer pointer is NULL, an error code CSSM_CSP_INVALID_DATA_POINTER is returned.

SEE ALSO

CSP_VerifyData, CSP_SignDataInit, CSP_SignDataUpdate,
CSP_SignDataFinal

Why not acquire a nicely bound hard copy?
Click here to return to the publication details or order a copy of this publication.
You should also read the legal notice explaining the terms and conditions relating to the CDSA documentation.

Contents Next section Index