Copyright Digital Equipment Corp. All rights reserved.

CL_CertCreateTemplate

NAME

  CL_CertCreateTemplate,
  CSSM_CL_CertCreateTemplate - Allocate and initialize
                               memory for a certificate template (CDSA)

SYNOPSIS

  # include <cssm.h>

       API:
       CSSM_RETURN CSSMAPI CSSM_CL_CertCreateTemplate
       (CSSM_CL_HANDLE CLHandle,
       uint32 NumberOfFields,
       const CSSM_FIELD *CertFields,
       CSSM_DATA_PTR CertTemplate)
       SPI:
       CSSM_RETURN CSSMCLI CL_CertCreateTemplate
       (CSSM_CL_HANDLE CLHandle,
       uint32 NumberOfFields,
       const CSSM_FIELD *CertFields,
       CSSM_DATA_PTR CertTemplate)

LIBRARY

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

PARAMETERS

  CLHandle (input)
          The handle that describes the certificate library module used
          to perform this function.

  NumberOfFields (input)
          The number of certificate field values specified in the
          CertFields.

  CertFields (input)
          A pointer to an array of OID/value pairs that identify the
          field values to initialize a new certificate.

  CertTemplate (output)
          A pointer to a CSSM_DATA structure that will contain the
          unsigned certificate template as a result of this function.

DESCRIPTION

  This function allocates and initializes memory for an encoded
  certificate template output in CertTemplate->Data. The template
  values are specified by the input OID/value pairs contained in
  CertFields. The initialization process includes encoding all
  certificate field values according to the certificate type and
  certificate encoding supported by the certificate library
  module.

  The memory for CertTemplate->Data is allocated by the service provider
  using the calling application's memory management routines.  The
  application must deallocate the memory.

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.

ERRORS

  Errors are described in the CDSA technical standard.  See CDSA.

       CSSMERR_CL_INVALID_FIELD_POINTER
       CSSMERR_CL_UNKNOWN_TAG
       CSSMERR_CL_INVALID_NUMBER_OF_FIELDS

SEE ALSO

  Books

  Intel CDSA Application Developer's Guide (see CDSA)

  Other Help Topics

  Functions for the CSSM API:

      CSSM_CL_CertGetAllTemplateFields
      CSSM_CL_CertSign

  Functions for the CLI SPI:

      CL_CertGetAllTemplateFields
      CL_CertSign