Copyright Digital Equipment Corp. All rights reserved.

CL_CrlSetFields

NAME

  CL_CrlSetFields,
  CSSM_CL_CrlSetFields - Set new field values (CDSA)

SYNOPSIS

  # include <cssm.h>

   API:
       CSSM_RETURN CSSMAPI CSSM_CL_CrlSetFields
       (CSSM_CL_HANDLE CLHandle,
       uint32 NumberOfFields,
       const CSSM_FIELD *CrlTemplate,
       const CSSM_DATA *OldCrl,
       CSSM_DATA_PTR ModifiedCrl)

   SPI:
       CSSM_RETURN CSSMCLI CL_CrlSetFields
       (CSSM_CL_HANDLE CLHandle,
       uint32 NumberOfFields,
       const CSSM_FIELD *CrlTemplate,
       const CSSM_DATA *OldCrl,
       CSSM_DATA_PTR ModifiedCrl)

LIBRARY

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

PARAMETERS

  CLHandle (input)
          The handle that describes the add-in Certificate Library module
          used to perform this function.

  NumberOfFields (input)
          The number of OID value pairs specified in the CrlTemplate input
          parameter.

  CrlTemplate (input)
          Any array of field OID value pairs containing the values to
          initialize the CRL attribute fields.

  OldCrl (input)
          The CRL to be updated with the new attribute values. The CRL
          must be unsigned and available for update.

  ModifiedCrl (output)
          A pointer to the modified, unsigned CRL. The ModifiedCrl->Data
          is allocated by the service provider and must be deallocated
          by the application.

DESCRIPTION

  This function will set the fields of the input CRL to the new values,
  specified by the input OID/value pairs. If there is more than one
  possible instance of an OID (for example, as in an extension or CRL
  record), then a new field with the specified value is added to the CRL.

  This function should be used to update any of the CRL field values.  If
  a specified field was initialized by CSSM_CL_CrlCreateTemplate() (CSSM
  API), or CL_CrlCreateTemplate() (CL SPI), the field value is set to the
  new specified value. If a specified field was not initialized by the
  CSSM_CL_CrlCreateTemplate() (CSSM API), or CL_CrlCreateTemplate() (CL
  SPI), the field is set to the new specified value. The OldCrl must be
  unsigned.  Once a CRL has been signed using CSSM_CL_CrlSign() (CSSM 
  API), or CL_CrlSign() (CL SPI), the signed CRL's field values cannot 
  be modified.  Modification would invalidate the cryptographic 
  signature of the CRL.

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
       CSSMERR_CL_UNKNOWN_FORMAT
       CSSMERR_CL_INVALID_CRL_POINTER
       CSSMERR_CL_CRL_ALREADY_SIGNED

SEE ALSO

  Books

  Intel CDSA Application Developer's Guide (see CDSA)

  Other Help Topics

  Functions for the CSSM API:

      CSSM_CL_CrlCreateTemplate
      CSSM_CL_CrlAddCert
      CSSM_CL_CrlSign
      CSSM_CL_CertGetFirstFieldValue

  Functions for the CLI SPI:

      CL_CrlCreateTemplate
      CL_CrlAddCert
      CL_CrlSign
      CL_CertGetFirstFieldValue