#ifndef _EXTEN_COOKER_H_
#define _EXTEN_COOKER_H_
#include <Security/cssmtype.h>
#include <Security/x509defs.h>
#include <Security/cssmapple.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef void (*extenCreateFcn)(void *arg);
typedef unsigned (*extenCompareFcn)(
const void *preEncode,
const void *postEncode);
typedef void (*extenFreeFcn)(void *arg);
typedef struct {
extenCreateFcn createFcn;
extenCompareFcn compareFcn;
extenFreeFcn freeFcn;
unsigned extenSize;
CSSM_OID extenOid;
const char *extenDescr;
char extenLetter;
} ExtenTest;
#include <stdio.h>
#include <stdlib.h>
#include "extenCooker.h"
CSSM_BOOL randBool();
void randData(
CSSM_DATA_PTR data,
uint8 maxLen);
int compBool(
CSSM_BOOL pre,
CSSM_BOOL post,
char *desc);
int compCssmData(
CSSM_DATA &d1,
CSSM_DATA &d2,
char *desc);
#pragma mark --- CE_KeyUsage ---
void kuCreate(void *arg);
unsigned kuCompare(const void *pre, const void *post);
#pragma mark --- CE_BasicConstraints ---
void bcCreate(void *arg);
unsigned bcCompare(const void *pre, const void *post);
#pragma mark --- CE_SubjectKeyID ---
void skidCreate(void *arg);
unsigned skidCompare(const void *pre, const void *post);
void skidFree(void *arg);
#pragma mark --- CE_NetscapeCertType ---
void nctCreate(void *arg);
unsigned nctCompare(const void *pre, const void *post);
#pragma mark --- CE_ExtendedKeyUsage ---
void ekuCreate(void *arg);
unsigned ekuCompare(const void *pre, const void *post);
#pragma mark --- general purpose X509 name generator ---
void rdnCreate(
CSSM_X509_RDN_PTR rdn);
unsigned rdnCompare(
CSSM_X509_RDN_PTR rdn1,
CSSM_X509_RDN_PTR rdn2);
void rdnFree(
CSSM_X509_RDN_PTR rdn);
void x509NameCreate(
CSSM_X509_NAME_PTR x509Name);
unsigned x509NameCompare(
const CSSM_X509_NAME_PTR n1,
const CSSM_X509_NAME_PTR n2);
void x509NameFree(
CSSM_X509_NAME_PTR n);
#pragma mark --- general purpose GeneralNames generator ---
void genNamesCreate(void *arg);
unsigned genNamesCompare(const void *pre, const void *post);
void genNamesFree(void *arg);
#pragma mark --- CE_CRLDistPointsSyntax ---
void cdpCreate(void *arg);
unsigned cdpCompare(const void *pre, const void *post);
void cdpFree(void *arg);
#pragma mark --- CE_AuthorityKeyID ---
void authKeyIdCreate(void *arg);
unsigned authKeyIdCompare(const void *pre, const void *post);
void authKeyIdFree(void *arg);
#pragma mark --- CE_CertPolicies ---
void cpCreate(void *arg);
unsigned cpCompare(const void *pre, const void *post);
void cpFree(void *arg);
#ifdef __cplusplus
}
#endif
#endif