Diffie-Hellman/Schannel CSP Reference

This section lists each function that must be exported from the CSP, and briefly discusses any required functionality beyond PROV_DSS_DH. Additional functions specific to a 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 Diffie-Hellman/Schannel Extensions.
CPDecrypt Decrypts data that was previously encrypted via the CPEncrypt function. See CPDecrypt Diffie-Hellman/Schannel Extensions.
CPDeriveKey Generates cryptographic keys derived from base data. See CPDeriveKey Diffie-Hellman/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 Diffie-Hellman/Schannel Extensions.
CPExportKey Exports cryptographic keys from a cryptographic service provider in a secure manner. See CPExportKey.
CPGenKey Generates random cryptographic keys for use with the CSP module. See CPGenKey.
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 Diffie-Hellman/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 Diffie-Hellman/Schannel Extensions.
CPImportKey Transfers a cryptographic key from a key blob to a CSP. See CPImportKey.
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 Diffie-Hellman/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.