pkix_pl_crldp.h (1504B)
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_crldp.h 6 * 7 * Crp DP Object Definitions 8 * 9 */ 10 #include "pkix_pl_common.h" 11 12 #ifndef _PKIX_PL_CRLDP_H 13 #define _PKIX_PL_CRLDP_H 14 15 #ifdef __cplusplus 16 extern "C" { 17 #endif 18 19 /* CRLDP object can not be used without holding a reference 20 * to the pkix certificate they belong to. The memory for dp der 21 * object is allocated on nssCert certificate - a member of 22 * PKIX_PL_Cert struct. */ 23 typedef struct pkix_pl_CrlDpStruct { 24 /* reference to decoded crldp that allocated on nssCert arena. */ 25 const CRLDistributionPoint *nssdp; 26 DistributionPointTypes distPointType; 27 union { 28 CERTGeneralName *fullName; 29 /* if dp is a relative name, the issuerName is a merged value 30 * of crlIssuer and a relative name. Must be destroyed by CrlDp 31 * destructor. */ 32 CERTName *issuerName; 33 } name; 34 PKIX_Boolean isPartitionedByReasonCode; 35 } pkix_pl_CrlDp; 36 37 38 PKIX_Error * 39 pkix_pl_CrlDp_RegisterSelf(void *plContext); 40 41 /* Parses CRLDistributionPoint structure and creaetes 42 * pkix_pl_CrlDp object. */ 43 PKIX_Error * 44 pkix_pl_CrlDp_Create(const CRLDistributionPoint *dp, 45 const CERTName *certIssuerName, 46 pkix_pl_CrlDp **pPkixDP, 47 void *plContext); 48 49 #ifdef __cplusplus 50 } 51 #endif 52 53 #endif /* _PKIX_PL_CRLDP_H */