Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
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 */
11 #ifndef _PKIX_COMCERTSELPARAMS_H
12 #define _PKIX_COMCERTSELPARAMS_H
14 #include "pkix_tools.h"
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
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 };
49 /* see source file for function documentation */
51 PKIX_Error *pkix_ComCertSelParams_RegisterSelf(void *plContext);
53 #ifdef __cplusplus
54 }
55 #endif
57 #endif /* _PKIX_COMCERTSELPARAMS_H */