Common Data Security Architecture (CDSA) White Paper

Chapter 1 29
Common Data Security Architecture (CDSA) White Paper
Cryptography Service Provider (CSP) API
CSP_GenerateKeyPair ()
Accepts as input a handle to a cryptographic context describing the generate key operation
and attributes of each key in the new key pair. The keys are returned in CSSM_KEY
structures.
CSP_GenerateRandom ()
Accepts as input a handle to a cryptographic context describing the generate random
operation. The random data is returned in a CSSM_DATA structure.
CSP_WrapKey ()
Accepts as input a handle to a symmetric/asymmetric cryptographic context describing the
wrap key operation and the wrapping key to be used in the operation, the key to be wrapped,
and a passphrase (if required by the CSP) that permits access to the private key to be
wrapped.
CSP_UnwrapKey ()
Accepts as input a handle to a cryptographic context describing the key unwrap operation, the
wrapped key to be unwrapped, and a passphrase (if required by the CSP) that will be used to
control access to the private key for the unwrapping operation.
CSP_DeriveKey ()
Accepts as input a handle to a cryptographic context describing the derive key operation and
the base key that will be used to derive new keys.
CSP_GenerateAlgorithmParams ()
Accepts as input a handle to a cryptographic context describing an algorithm and returns a
set of algorithm parameters appropriate for that algorithm.
CSP_QueryKeySizeInBits ()
Accepts as input a handle to a cryptographic context and the context containing the key. This
function returns a pointer to a data structure containing the keysize and effective keysize in
bits.
CSP_AssociatePublicKeyWithPrivateKey ()
Accepts as input a handle to a cryptographic context and a public and private key pair and
associates the public key with the private key.
CSP_ObtainPrivateKeyFromPublicKey ()
Accepts as input a CSP handle and a public key. This function returns a pointer to the private
key that is associated with the public key.
CSP_Login ()