1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 /*
5  * pkix_procparams.h
6  *
7  * ProcessingParams Object Type Definition
8  *
9  */
10 
11 #ifndef _PKIX_PROCESSINGPARAMS_H
12 #define _PKIX_PROCESSINGPARAMS_H
13 
14 #include "pkix_tools.h"
15 
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 struct PKIX_ProcessingParamsStruct {
22         PKIX_List *trustAnchors;        /* Never NULL */
23         PKIX_List *hintCerts;	/* user-supplied partial chain, may be NULL */
24         PKIX_CertSelector *constraints;
25         PKIX_PL_Date *date;
26         PKIX_List *initialPolicies;     /* list of PKIX_PL_OID */
27         PKIX_Boolean initialPolicyMappingInhibit;
28         PKIX_Boolean initialAnyPolicyInhibit;
29         PKIX_Boolean initialExplicitPolicy;
30         PKIX_Boolean qualifiersRejected;
31         PKIX_List *certChainCheckers;
32         PKIX_List *certStores;
33         PKIX_Boolean isCrlRevocationCheckingEnabled;
34         PKIX_Boolean isCrlRevocationCheckingEnabledWithNISTPolicy;
35         PKIX_RevocationChecker *revChecker;
36         PKIX_ResourceLimits *resourceLimits;
37         PKIX_Boolean useAIAForCertFetching;
38         PKIX_Boolean qualifyTargetCert;
39         PKIX_Boolean useOnlyTrustAnchors;
40 };
41 
42 /* see source file for function documentation */
43 
44 PKIX_Error *pkix_ProcessingParams_RegisterSelf(void *plContext);
45 
46 #ifdef __cplusplus
47 }
48 #endif
49 
50 #endif /* _PKIX_PROCESSINGPARAMS_H */
51