/sys$common/syshlp/HELPLIB.HLB  —  CDSA  CDSA_API, CL CrlGetFirstCachedFieldValue
 NAME

   CL_CrlGetFirstCachedFieldValue,
   CSSM_CL_CrlGetFirstCachedFieldValue - Get field values from the cached
                                         CRL (CDSA)

 SYNOPSIS

   # include <cssm.h>

    API:
        CSSM_RETURN CSSMAPI CSSM_CL_CrlGetFirstCachedFieldValue
        (CSSM_CL_HANDLE CLHandle,
        CSSM_HANDLE CrlHandle,
        const CSSM_DATA *CrlRecordIndex,
        const CSSM_OID *CrlField,
        CSSM_HANDLE_PTR ResultsHandle,
        uint32 *NumberOfMatchedFields,
        CSSM_DATA_PTR *FieldValue)

    SPI:
        CSSM_RETURN CSSMCLI CL_CrlGetFirstCachedFieldValue
        (CSSM_CL_HANDLE CLHandle,
        CSSM_HANDLE CrlHandle,
        const CSSM_DATA *CrlRecordIndex,
        const CSSM_OID *CrlField,
        CSSM_HANDLE_PTR ResultsHandle,
        uint32 *NumberOfMatchedFields,
        CSSM_DATA_PTR *FieldValue)

 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.

   CrlHandle (input)
           A handle identifying a CRL that the application has temporarily
           cached with the Certificate Library module. The referenced CRL
           is searched for the field values identified by CrlField.

   CrlRecordIndex (input/optional)
           An index value identifying a particular revocation record in
           a cached CRL. If an index value is supplied, the scan for the
           field values identified by CrlField is limited to the
           preselected revocation record.

   CrlField (input)
           A pointer to an object identifier that identifies the field
           value to be extracted from the CRL.

   ResultsHandle (output)
           A pointer to the CSSM_HANDLE that should be used to obtain any
           additional matching fields.

   NumberOfMatchedFields (output)
           The total number of fields that match the CrlField OID. This
           count includes the first match, which was returned by this
           function.

   FieldValue (output)
           A pointer to the structure containing the value of the
           requested field. The structure and the field at I
           "(*FieldValue)->Data" are allocated by the service provider.
           The CSSM_CL_FreeFieldValue() (CSSM API), or CL_FreeFieldValue()
           (CL SPI), function can be used to deallocate *FieldValue and
           (*FieldValue)->Data.

 DESCRIPTION

   This function returns a single structure containing a set of field
   values from the cached CRL identified by CrlHandle parameter.  The
   selected fields are designated by the CSSM_OID CrlField parameter and
   returned in the output parameter FieldValue.  The OID also identifies
   the data format of the values returned to the caller.  If multiple
   OIDs designate the same CRL field, then each such OID defines a
   distinct data format for the returned values. The function
   CSSM_CL_CrlDescribeFormat() (CSSM API), or CL_CrlDescribeFormat()
   (CL SPI), provides a list of all CSSM_OID values supported by a CL
   module for naming fields of a CRL.

   The search can be limited to a particular revocation record within the
   CRL.  A single record is identified by the CrlRecordIndex parameter,
   which is returned by the function CSSM_CL_IsCertInCachedCrl()
   (CSSM API), or CL_IsCertInCachedCrl() (CL SPI).  If no record index
   is supplied, the search is initiated from the beginning of the CRL.

   The CRL can be signed or unsigned. This function does not perform any
   signature verification on the CRL fields or the CRL records. Each CRL
   record can be digitally signed when it is added to the CRL using the
   function CSSM_CL_CrlAddCert() (CSSM API), or CL_CrlAddCert() (CL SPI).
   The caller can examine fields in the CRL and CRL records at any time
   using this function.

   The CrlField OID can identify a single occurrence of a set of CRL fields
   or multiple occurrences of a set of CRL fields. If the CrlField OID
   matches more than one occurrence, this function outputs the total number
   of matches and a ResultsHandle to be used as input to
   CSSM_CrlGetNextFieldValue() (CSSM API), or CrlGetNextFieldValue()
   (CL SPI), to retrieve the remaining matches. The first match is returned
   as the return value of this function.

   This function determines the complete set of matches. The number of
   matches and the selected field values do not change between this
   function and subsequent calls to CSSM_CL_CrlGetNextFieldValue()
   (CSSM API), or CL_CrlGetNextFieldValue() (CL SPI).

 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_CACHE_HANDLE
        CSSMERR_CL_INVALID_CRL_INDEX
        CSSMERR_CL_UNKNOWN_TAG
        CSSMERR_CL_NO_FIELD_VALUES

 SEE ALSO

   Books

   Intel CDSA Application Developer's Guide (see CDSA)

   Other Help Topics

   Functions for the CSSM API:

       CSSM_CL_CrlGetNextCachedFieldValue
       CSSM_CL_IsCertInCachedCrl
       CSSM_CL_CrlAbortQuery
       CSSM_CL_CrlCache
       CSSM_CL_CrlAbortCache
       CSSM_CL_CrlDescribeFormat
       CSSM_CL_FreeFieldValue

   Functions for the CLI SPI:

       CL_CrlGetNextCachedFieldValue
       CL_IsCertInCachedCrl
       CL_CrlAbortQuery
       CL_CrlCache
       CL_CrlAbortCache
       CL_CrlDescribeFormat
       CL_FreeFieldValue
Close Help