Copyright Digital Equipment Corp. All rights reserved.

CSSM_CSP_CreateAsymmetricContext

NAME

  CSSM_CSP_CreateAsymmetricContext - Create an asymmetric encryption
                                     cryptographic context (CDSA)

SYNOPSIS

  # include <cssm.h>

       CSSM_RETURN CSSMAPI CSSM_CSP_CreateAsymmetricContext
       (CSSM_CSP_HANDLE CSPHandle,
       CSSM_ALGORITHMS AlgorithmID,
       const CSSM_ACCESS_CREDENTIALS *AccessCred,
       const CSSM_KEY *Key,
       CSSM_PADDING Padding,
       CSSM_CC_HANDLE *NewContextHandle)

LIBRARY

  Common Security Services Manager library (CDSA$INCSSM300_SHR.EXE)

PARAMETERS

  CSPHandle (input)
          The handle that describes the add-in cryptographic service
          provider module used to perform this function. If a NULL
          handle is specified, CSSM returns an error.

  AlgorithmID (input)
          The algorithm identification number for the algorithm used
          for asymmetric encryption.

  AccessCred (input)
          A pointer to the set of one or more credentials required to
          unlock the private key. The credentials structure can contain
          an immediate value for the credential, such as a passphrase,
          or the caller can specify a callback function the CSP can use
          to obtain one or more credentials. Credentials can be required
          for encryption and decryption operations.

  Key (input)
          The key used for asymmetric encryption. The caller passes a
          pointer to a CSSM_KEY structure containing the key. When the
          context is used for a sign operation, AccessCredentials is
          required to access the private key used for signing. When the
          context is used for a verify operation, the public key is used
          to verify the signature.  When the context is used for a
          wrapkey operation, the public key can be used as the wrapping
          key. When the context is used for an unwrap operation,
          AccessCredentials is required to access the private key used
          to perform the unwrapping.

  Padding (input/optional)
          The method for padding. Typically specified for ciphers that
          pad.

  NewContextHandle (output)
          Cryptographic context handle.

DESCRIPTION

  This function creates an asymmetric encryption cryptographic context,
  given a handle of a CSP, an algorithm identification number, a key,
  and padding.  The cryptographic context handle is returned.  The
  cryptographic context handle can be used to call asymmetric encryption
  functions and cryptographic wrap or unwrap functions.

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.

SEE ALSO

  Books

  Intel CDSA Application Developer's Guide (see CDSA)

  Other Help Topics

  Functions: CSSM_DecryptData
             CSSM_DecryptDataInit
             CSSM_DecryptDataUpdate
             CSSM_DecryptDataFinal
             CSSM_DeleteContext
             CSSM_EncryptData
             CSSM_EncryptDataInit
             CSSM_EncryptDataUpdate
             CSSM_EncryptDataFinal
             CSSM_GetContext
             CSSM_GetContextAttribute
             CSSM_QuerySize
             CSSM_SetContext
             CSSM_UpdateContextAttributes