#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 1
#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
TPCertInfo *tpFindIssuer(
CssmAllocator &alloc,
CSSM_CL_HANDLE clHand,
CSSM_CSP_HANDLE cspHand,
TPCertInfo *subjectCert,
const CSSM_DATA *issuerName, const CSSM_DL_DB_LIST *dbList,
const char *cssmTimeStr, CSSM_RETURN *issuerExpired);
#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);
CSSM_ALGORITHMS tpOidToAldId(
const CSSM_OID *oid,
CSSM_ALGORITHMS *keyAlg);
void tpToLower(
char *str,
unsigned strLen);
CSSM_BOOL tpCompareHostNames(
const char *hostName, uint32 hostNameLen,
char *serverName, uint32 serverNameLen);
#ifdef __cplusplus
}
#endif
#endif