CSSM_DATA_PTR CSSMAPI CSSM_CL_CertMultiSignRetrieve (CSSM_CL_HANDLE CLHandle, const CSSM_DATA_PTR ReferenceIdentifier, const CSSM_NET_ADDRESS_PTR CALocation, sint32 *EstimatedTime)
This function returns the multiply-signed certificate created in response to the CL_CertMultiSignRequest function call. The reference identifier denotes the corresponding call.
It is possible that the certificate is not ready to be retrieved when this call is made. In that case, an EstimatedTime to complete the signing process is returned with the reference identifier and a NULL certificate pointer. The caller must attempt to retrieve the certificate again after the estimated time to completion has elapsed.
- CLHandle (input)
The handle that describes the add-in certificate library module used to perform this function.
- ReferenceIdentifier (input)
A reference identifier which uniquely identifies the CSSM_CL_CertMultiSignRequest call that initiated the multiple signing request. This identifier persists across application executions until it is terminated by successful or failed completion of the CSSM_CL_MultiSignRetrieve function.
- CALocation (input/optional)
A pointer to a network address directly or indirectly identifying the location of the CA process. If the input is NULL, the module can determine a CA process and its location based on state information associated with the ReferenceIdentifier or can assume a default CA process location. If insufficient state is associated with the ReferenceIdentifier and a default cannot be assumed, the retrieval cannot be completed and the operation fails.
- EstimatedTime (output)
The number of seconds estimated before the multiply-signed Certificate will be returned. A (default) value of zero indicates that the certificate has been returned as a result of this call. When the signing authority cannot estimate the time required to sign the certificate, the output value for estimated time is CSSM_ESTIMATED_TIME_UNKNOWN.
A pointer to the CSSM_DATA structure containing the multiply-signed certificate. If the pointer is NULL, the calling application is expected to call back after the specified EstimatedTime. If the pointer is NULL and EstimatedTime is zero, an error has occurred. If the EstimatedTime is CSSM_ESTIMATED_TIME_UNKNOWN, the call back time is not defined and the application must periodically poll for completion. Use CSSM_GetError to obtain the error code.
Invalid Certificate Library Handle.
Invalid reference identifier.
Unable to sign certificate.
Unable to perform additional signing-related services.
Not enough memory.