michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: /* michael@0: * pkix_comcertselparams.h michael@0: * michael@0: * ComCertSelParams Object Type Definition michael@0: * michael@0: */ michael@0: michael@0: #ifndef _PKIX_COMCERTSELPARAMS_H michael@0: #define _PKIX_COMCERTSELPARAMS_H michael@0: michael@0: #include "pkix_tools.h" michael@0: michael@0: #ifdef __cplusplus michael@0: extern "C" { michael@0: #endif michael@0: michael@0: /* michael@0: * pathToNamesConstraint is Name Constraints generated based on the michael@0: * pathToNames. We save a cached copy to save regeneration for each michael@0: * check. SubjAltNames also has its cache, since SubjAltNames are michael@0: * verified by checker, its cache copy is stored in checkerstate. michael@0: */ michael@0: struct PKIX_ComCertSelParamsStruct { michael@0: PKIX_Int32 version; michael@0: PKIX_Int32 minPathLength; michael@0: PKIX_Boolean matchAllSubjAltNames; michael@0: PKIX_PL_X500Name *subject; michael@0: PKIX_List *policies; /* List of PKIX_PL_OID */ michael@0: PKIX_PL_Cert *cert; michael@0: PKIX_PL_CertNameConstraints *nameConstraints; michael@0: PKIX_List *pathToNames; /* List of PKIX_PL_GeneralNames */ michael@0: PKIX_List *subjAltNames; /* List of PKIX_PL_GeneralNames */ michael@0: PKIX_List *extKeyUsage; /* List of PKIX_PL_OID */ michael@0: PKIX_UInt32 keyUsage; michael@0: PKIX_PL_Date *date; michael@0: PKIX_PL_Date *certValid; michael@0: PKIX_PL_X500Name *issuer; michael@0: PKIX_PL_BigInt *serialNumber; michael@0: PKIX_PL_ByteArray *authKeyId; michael@0: PKIX_PL_ByteArray *subjKeyId; michael@0: PKIX_PL_PublicKey *subjPubKey; michael@0: PKIX_PL_OID *subjPKAlgId; michael@0: PKIX_Boolean leafCertFlag; michael@0: }; michael@0: michael@0: /* see source file for function documentation */ michael@0: michael@0: PKIX_Error *pkix_ComCertSelParams_RegisterSelf(void *plContext); michael@0: michael@0: #ifdef __cplusplus michael@0: } michael@0: #endif michael@0: michael@0: #endif /* _PKIX_COMCERTSELPARAMS_H */