RSA/Schannel CSP Reference

This section lists each function that must be exported from the CSP, and briefly discusses any required functionality beyond PROV_RSA_FULL. Additional functions specific to the CSP may exist within the CSP.

Function Description
CPAcquireContext Acquires a handle to a particular key container within a particular CSP. See CPAcquireContext.
CPCreateHash Initiates hashing a stream of data. See CPCreateHash Schannel Extensions.
CPDecrypt Decrypts data that was previously encrypted via the CPEncrypt function. See CPDecrypt Schannel Extensions.
CPDeriveKey Generates cryptographic keys derived from base data. See CPDeriveKey Schannel Extensions.
CPDestroyHash Destroys the hash object referenced by the hHash parameter. See CPDestroyHash.
CPDestroyKey Releases the handle referenced by the hKey parameter. After a key handle has been released, it becomes invalid and cannot be used again. See CPDestroyKey.
CPDuplicateHash Makes an exact copy of a hash and the state the hash is in. See CPDuplicateHash.
CPDuplicateKey Makes an exact copy of a key and the state the key is in. See CPDuplicateKey.
CPEncrypt Encrypts data. See CPEncrypt Schannel Extensions.
CPExportKey Exports cryptographic keys out of a cryptographic service provider in a secure manner. See CPExportKey Schannel Extensions.
CPGenKey Generates random cryptographic keys for use with the CSP module. See CPGenKey Schannel Extensions.
CPGenRandom Fills a buffer with random bytes. See CPGenRandom.
CPGetHashParam Retrieves data that governs the operations of a hash object. See CPGetHashParam.
CPGetKeyParam Retrieves data that governs the operations of a key. See CPGetKeyParam
CPGetProvParam Retrieves parameters that govern the operations of a CSP. See CPGetProvParam Schannel Extensions.
CPGetUserKey Retrieves a handle to a permanent user key pair, such as the user's signature key pair. See CPGetUserKey
CPHashData Computes the cryptographic hash on a stream of data. See CPHashData.
CPHashSessionKey Computes the cryptographic hash on a key object. See CPHashSessionKey Schannel Extensions.
CPImportKey Transfers a cryptographic key from a key blob to a CSP. See CPImportKey Schannel Extensions.
CPReleaseContext Releases a handle to a CSP and a key container. See CPReleaseContext.
CPSetHashParam Customizes the operations of a hash object. Currently, only a single parameter is defined for this function. See CPSetHashParam.
CPSetKeyParam Customizes various aspects of a key's operations. See CPSetKeyParam Schannel Extensions.
CPSetProvParam Customizes the operations of a CSP. See CPSetProvParam.
CPSignHash Signs a piece of data. See CPSignHash.
CPVerifySignature Verifies a signature against a hash object. See CPVerifySignature.