2 * Copyright (c) 2000-2001 Apple Computer, Inc. All Rights Reserved.
4 * The contents of this file constitute Original Code as defined in and are
5 * subject to the Apple Public Source License Version 1.2 (the 'License').
6 * You may not use this file except in compliance with the License. Please obtain
7 * a copy of the License at http://www.apple.com/publicsource and read it before
10 * This Original Code and all software distributed under the License are
11 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS
12 * OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT
13 * LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
14 * PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. Please see the License for the
15 * specific language governing rights and limitations under the License.
20 * CLCertExtensions.h - extern declarations of get/set/free functions implemented in
21 * CertExtensions,cpp and used only in CertFields.cpp.
23 * Created 9/8/2000 by Doug Mitchell.
24 * Copyright (c) 2000 by Apple Computer.
27 #ifndef _CL_CERT_EXTENSIONS_H_
28 #define _CL_CERT_EXTENSIONS_H_
30 #include "DecodedCert.h"
37 * Functions to map OID --> {get,set,free}field
39 typedef bool (getFieldFcn
) (
40 const DecodedCert
&cert
,
41 unsigned index
, // which occurrence (0 = first)
42 uint32
&numFields
, // RETURNED
43 CssmOwnedData
&fieldValue
); // RETURNED
44 typedef void (setFieldFcn
) (
46 const CssmData
&fieldValue
);
47 typedef void (freeFieldFcn
) (
48 CssmOwnedData
&fieldValue
);
50 getFieldFcn getFieldKeyUsage
, getFieldBasicConstraints
, getFieldExtKeyUsage
,
51 getFieldSubjectKeyId
, getFieldAuthorityKeyId
, getFieldSubjAltName
,
52 getFieldCertPolicies
, getFieldNetscapeCertType
, getFieldUnknownExt
;
53 setFieldFcn setFieldKeyUsage
, setFieldBasicConstraints
, setFieldExtKeyUsage
,
54 setFieldSubjectKeyId
, setFieldAuthorityKeyId
, setFieldSubjAltName
,
55 setFieldCertPolicies
, setFieldNetscapeCertType
, setFieldUnknownExt
;
56 freeFieldFcn freeFieldSimpleExtension
, freeFieldExtKeyUsage
, freeFieldSubjectKeyId
,
57 freeFieldAuthorityKeyId
, freeFieldSubjAltName
, freeFieldCertPolicies
,
64 #endif /* _CERT_EXTENSIONS_H_*/