pkix_pl_nameconstraints.h (1940B)
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_pl_nameconstraints.h 6 * 7 * Name Constraints Object Definitions 8 * 9 */ 10 11 #ifndef _PKIX_PL_NAMECONSTRAINTS_H 12 #define _PKIX_PL_NAMECONSTRAINTS_H 13 14 #include "pkix_pl_common.h" 15 16 #ifdef __cplusplus 17 extern "C" { 18 #endif 19 20 struct PKIX_PL_CertNameConstraintsStruct { 21 PLArenaPool *arena; 22 CERTNameConstraints **nssNameConstraintsList; 23 PKIX_UInt32 numNssNameConstraints; 24 PKIX_List *permittedList; /* list of PKIX_PL_GeneralName */ 25 PKIX_List *excludedList; /* list of PKIX_PL_GeneralName */ 26 }; 27 28 /* see source file for function documentation */ 29 30 PKIX_Error *pkix_pl_CertNameConstraints_RegisterSelf(void *plContext); 31 32 PKIX_Error *pkix_pl_CertNameConstraints_Create( 33 CERTCertificate *nssCert, 34 PKIX_PL_CertNameConstraints **pNameConstraints, 35 void *plContext); 36 37 PKIX_Error * 38 pkix_pl_CertNameConstraints_CreateWithNames( 39 PKIX_List *names, /* List of PKIX_PL_GeneralName */ 40 PKIX_PL_CertNameConstraints **pNameConstraints, 41 void *plContext); 42 43 PKIX_Error * 44 pkix_pl_CertNameConstraints_CheckNameSpaceNssNames( 45 CERTGeneralName *nssSubjectNames, 46 PKIX_PL_CertNameConstraints *nameConstraints, 47 PKIX_Boolean *pCheckPass, 48 void *plContext); 49 50 PKIX_Error * 51 pkix_pl_CertNameConstraints_CheckNameSpacePkixNames( 52 PKIX_List *nameList, 53 PKIX_PL_CertNameConstraints *nameConstraints, 54 PKIX_Boolean *pCheckPass, 55 void *plContext); 56 57 58 PKIX_Error *pkix_pl_CertNameConstraints_Merge( 59 PKIX_PL_CertNameConstraints *firstNC, 60 PKIX_PL_CertNameConstraints *secondNC, 61 PKIX_PL_CertNameConstraints **pMergedNC, 62 void *plContext); 63 64 #ifdef __cplusplus 65 } 66 #endif 67 68 #endif /* _PKIX_PL_NAMECONSTRAINTS_H */