#ifndef _CL_NAME_UTILS_H_
#define _CL_NAME_UTILS_H_
#include <Security/cssmtype.h>
#include <security_utilities/alloc.h>
#include <Security/x509defs.h>
#include <Security/certextensions.h>
#include <Security/X509Templates.h>
#include <security_asn1/SecNssCoder.h>
void CL_nssAtvToCssm(
const NSS_ATV &nssObj,
CSSM_X509_TYPE_VALUE_PAIR &cssmObj,
Allocator &alloc
#if !NSS_TAGGED_ITEMS
, SecNssCoder &coder
#endif
);
void CL_nssRdnToCssm(
const NSS_RDN &nssObj,
CSSM_X509_RDN &cssmObj,
Allocator &alloc,
SecNssCoder &coder);
void CL_nssNameToCssm(
const NSS_Name &nssObj,
CSSM_X509_NAME &cssmObj,
Allocator &alloc);
void CL_cssmAtvToNss(
const CSSM_X509_TYPE_VALUE_PAIR &cssmObj,
NSS_ATV &nssObj,
SecNssCoder &coder);
void CL_cssmRdnToNss(
const CSSM_X509_RDN &cssmObj,
NSS_RDN &nssObj,
SecNssCoder &coder);
void CL_cssmNameToNss(
const CSSM_X509_NAME &cssmObj,
NSS_Name &nssObj,
SecNssCoder &coder);
void CL_normalizeString(
char *strPtr,
int &strLen); void CL_normalizeX509NameNSS(
NSS_Name &nssName,
SecNssCoder &coder);
void CL_nssGeneralNameToCssm(
NSS_GeneralName &nssObj,
CE_GeneralName &cdsaObj,
SecNssCoder &coder, Allocator &alloc);
void CL_nssGeneralNamesToCssm(
const NSS_GeneralNames &nssObj,
CE_GeneralNames &cdsaObj,
SecNssCoder &coder, Allocator &alloc); void CL_cssmGeneralNameToNss(
CE_GeneralName &cdsaObj,
NSS_GeneralName &nssObj, SecNssCoder &coder); void CL_cssmGeneralNamesToNss(
const CE_GeneralNames &cdsaObj,
NSS_GeneralNames &nssObj,
SecNssCoder &coder);
void clCopyOtherName(
const CE_OtherName &src,
CE_OtherName &dst,
Allocator &alloc);
void CL_freeAuthorityKeyId(
CE_AuthorityKeyID &cdsaObj,
Allocator &alloc);
void CL_freeCssmGeneralName(
CE_GeneralName &genName,
Allocator &alloc);
void CL_freeCssmGeneralNames(
CE_GeneralNames *cdsaObj,
Allocator &alloc);
void CL_freeCssmDistPointName(
CE_DistributionPointName *cssmDpn,
Allocator &alloc);
void CL_freeCssmDistPoints(
CE_CRLDistPointsSyntax *cssmDps,
Allocator &alloc);
void CL_freeX509Name(
CSSM_X509_NAME_PTR x509Name,
Allocator &alloc);
void CL_freeX509Rdn(
CSSM_X509_RDN_PTR rdn,
Allocator &alloc);
void CL_freeOtherName(
CE_OtherName *cssmOther,
Allocator &alloc);
void CL_freeCssmIssuingDistPoint(
CE_IssuingDistributionPoint *cssmIdp,
Allocator &alloc);
#endif