#ifndef _CERT_GROUP_UTILS_H
#define _CERT_GROUP_UTILS_H
#include <Security/x509defs.h>
#include <Security/cssmalloc.h>
#include "TPCertInfo.h"
#define TP_DL_ENABLE 0
#ifdef __cplusplus
extern "C" {
#endif
#define tpFree(alloc, ptr) (alloc).free(ptr)
#define tpMalloc(alloc, size) (alloc).malloc(size)
#define tpCalloc(alloc, num, size) (alloc).calloc(num, size)
void tpCopyCssmData(
CssmAllocator &alloc,
const CSSM_DATA *src,
CSSM_DATA_PTR dst);
CSSM_DATA_PTR tpMallocCopyCssmData(
CssmAllocator &alloc,
const CSSM_DATA *src);
void tpFreeCssmData(
CssmAllocator &alloc,
CSSM_DATA_PTR data,
CSSM_BOOL freeStruct);
CSSM_BOOL tpCompareCssmData(
const CSSM_DATA *data1,
const CSSM_DATA *data2);
CSSM_BOOL tpCompareOids(
const CSSM_OID *oid1,
const CSSM_OID *oid2);
CSSM_DATA_PTR tp_CertGetPublicKey(
TPCertInfo *cert,
CSSM_DATA_PTR *valueToFree); void tp_CertFreePublicKey(
CSSM_CL_HANDLE clHand,
CSSM_DATA_PTR value);
CSSM_X509_ALGORITHM_IDENTIFIER_PTR tp_CertGetAlgId(
TPCertInfo *cert,
CSSM_DATA_PTR *valueToFree); void tp_CertFreeAlgId(
CSSM_CL_HANDLE clHand,
CSSM_DATA_PTR value);
#if TP_DL_ENABLE
CSSM_DATA_PTR
tp_GetCertFromDBList( CSSM_TP_HANDLE hTP,
CSSM_CL_HANDLE hCL,
CSSM_SELECTION_PREDICATE_PTR pPredicate,
uint32 NumberOfPredicates,
const CSSM_DB_LIST_PTR pDBList );
CSSM_DATA_PTR
tp_GetCertFromDBListBySName( CSSM_TP_HANDLE hTP,
CSSM_CL_HANDLE hCL,
const CSSM_DATA_PTR pSubjectName,
const CSSM_DB_LIST_PTR pDBList );
#endif
CSSM_BOOL tpIsSameName(
const CSSM_DATA *pName1,
const CSSM_DATA *pName2);
CSSM_RETURN tp_VerifyCert(
CSSM_CL_HANDLE clHand,
CSSM_CSP_HANDLE cspHand,
TPCertInfo *subjectCert,
TPCertInfo *issuerCert,
CSSM_BOOL checkIssuerCurrent,
CSSM_BOOL allowExpired);
CSSM_BOOL tp_CompareCerts(
const CSSM_DATA *cert1,
const CSSM_DATA *cert2);
#if TP_DL_ENABLE
CSSM_DATA_PTR tpFindIssuer(
CSSM_TP_HANDLE tpHand,
CSSM_CL_HANDLE clHand,
CSSM_CSP_HANDLE cspHand,
const CSSM_DATA_PTR subjectCert,
const CSSM_DATA_PTR issuerName, const CSSM_DB_LIST_PTR dbList,
CSSM_BOOL *subjectExpired); #endif
CSSM_ALGORITHMS tpOidToAldId(
const CSSM_OID *oid,
CSSM_ALGORITHMS *keyAlg);
#ifdef __cplusplus
}
#endif
#endif