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 */ 58