#ifndef _CERT_GROUP_UTILS_H
#define _CERT_GROUP_UTILS_H
#include <Security/x509defs.h>
#include <security_utilities/alloc.h>
#include "TPCertInfo.h"
#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(
Allocator &alloc,
const CSSM_DATA *src,
CSSM_DATA_PTR dst);
CSSM_DATA_PTR tpMallocCopyCssmData(
Allocator &alloc,
const CSSM_DATA *src);
void tpFreeCssmData(
Allocator &alloc,
CSSM_DATA_PTR data,
CSSM_BOOL freeStruct);
CSSM_BOOL tpCompareCssmData(
const CSSM_DATA *data1,
const CSSM_DATA *data2);
#define tpCompareOids(oid1, oid2) tpCompareCssmData(oid1, oid2)
void tpFreePluginMemory(
CSSM_HANDLE hand,
void *p);
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);
CSSM_BOOL tp_CompareCerts(
const CSSM_DATA *cert1,
const CSSM_DATA *cert2);
void tpToLower(
char *str,
unsigned strLen);
void tpNormalizeAddrSpec(
char *addr,
unsigned addrLen,
bool normalizeAll);
CSSM_BOOL tpCompareHostNames(
const char *hostName, uint32 hostNameLen,
char *certName, uint32 certNameLen);
CSSM_BOOL tpCompareEmailAddr(
const char *appEmail, uint32 appEmailLen,
char *certEmail, uint32 certEmailLen,
bool normalizeAll);
int decodeECDSA_SigAlgParams(
const CSSM_DATA *params,
CSSM_ALGORITHMS *cssmAlg);
#ifdef __cplusplus
}
#endif
#endif