|
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_comcertselparams.h |
|
6 * |
|
7 * ComCertSelParams Object Type Definition |
|
8 * |
|
9 */ |
|
10 |
|
11 #ifndef _PKIX_COMCERTSELPARAMS_H |
|
12 #define _PKIX_COMCERTSELPARAMS_H |
|
13 |
|
14 #include "pkix_tools.h" |
|
15 |
|
16 #ifdef __cplusplus |
|
17 extern "C" { |
|
18 #endif |
|
19 |
|
20 /* |
|
21 * pathToNamesConstraint is Name Constraints generated based on the |
|
22 * pathToNames. We save a cached copy to save regeneration for each |
|
23 * check. SubjAltNames also has its cache, since SubjAltNames are |
|
24 * verified by checker, its cache copy is stored in checkerstate. |
|
25 */ |
|
26 struct PKIX_ComCertSelParamsStruct { |
|
27 PKIX_Int32 version; |
|
28 PKIX_Int32 minPathLength; |
|
29 PKIX_Boolean matchAllSubjAltNames; |
|
30 PKIX_PL_X500Name *subject; |
|
31 PKIX_List *policies; /* List of PKIX_PL_OID */ |
|
32 PKIX_PL_Cert *cert; |
|
33 PKIX_PL_CertNameConstraints *nameConstraints; |
|
34 PKIX_List *pathToNames; /* List of PKIX_PL_GeneralNames */ |
|
35 PKIX_List *subjAltNames; /* List of PKIX_PL_GeneralNames */ |
|
36 PKIX_List *extKeyUsage; /* List of PKIX_PL_OID */ |
|
37 PKIX_UInt32 keyUsage; |
|
38 PKIX_PL_Date *date; |
|
39 PKIX_PL_Date *certValid; |
|
40 PKIX_PL_X500Name *issuer; |
|
41 PKIX_PL_BigInt *serialNumber; |
|
42 PKIX_PL_ByteArray *authKeyId; |
|
43 PKIX_PL_ByteArray *subjKeyId; |
|
44 PKIX_PL_PublicKey *subjPubKey; |
|
45 PKIX_PL_OID *subjPKAlgId; |
|
46 PKIX_Boolean leafCertFlag; |
|
47 }; |
|
48 |
|
49 /* see source file for function documentation */ |
|
50 |
|
51 PKIX_Error *pkix_ComCertSelParams_RegisterSelf(void *plContext); |
|
52 |
|
53 #ifdef __cplusplus |
|
54 } |
|
55 #endif |
|
56 |
|
57 #endif /* _PKIX_COMCERTSELPARAMS_H */ |