Common Data Security Architecture (CDSA) White Paper

Chapter 1 41
Common Data Security Architecture (CDSA) White Paper
Certificate Library Services (CL) API
Extensibility Functions
CL_PassThrough ( )
Performs a function indicated by an operation ID, which identifies an operation exported by
CL for use by an application or other module. These operations are specific to the data format
of the certificates and CRLs manipulated by the CL module.
The HPUX bundled CL supports the following pass-through functions. Each pass-through ID
defined in cdsa/x509defs.h represents a pass-through function available to applications. To
perform the function, applications invoke the CL API CSSM_CL_PassThrough(), which has
the following syntax:
output = CSSM_CL_PassThrough(CLHandle, PassThroughID, Input);
CLHandle is the handle returned by CSSM_ModuleAttach() when attaching the CL.
PassThroughID is a pass-through number to indicate the function to be performed.
Input is the input parameter required to perform the specific function. Each pass-through
ID has a specific input requirement.
Output is the result returned by the function.
The information that follows specifies the function performed, input requirement and output
for each pass-through ID. For further details about the data structures, see the CSSM(4)
manpage:
INTEL_X509V3_PASSTHROUGH_ENCODE_CERTIFICATE
Function Encode a certificate
Input Pointer to a certificate in the format of X509_SIGNED_CERTIFICATE
Output Pointer to a DER-encoded certificate in the format of CSSM_DATA
INTEL_X509V3_PASSTHROUGH_DECODE_CERTIFICATE
Function Decode a certificate
Input Pointer to a DER-encoded certificate in the format of CSSM_DATA
Output Pointer to a certificate in the format of X509_SIGNED_CERTIFICATE
INTEL_X509V3_PASSTHROUGH_FREE_CERTIFICATE
Function Free a certificate structure and all of the pointers inside
Input Pointer to a certificate in the format of X509_SIGNED_CERTIFICATE
Output A CSSM_BOOL to indicate success/failure
INTEL_X509V3_PASSTHROUGH_CREATE_ENCODED_NAME