andre@0: /* This Source Code Form is subject to the terms of the Mozilla Public andre@0: * License, v. 2.0. If a copy of the MPL was not distributed with this andre@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ andre@0: /* andre@0: * pkix_pl_crldp.h andre@0: * andre@0: * Crp DP Object Definitions andre@0: * andre@0: */ andre@0: #include "pkix_pl_common.h" andre@0: andre@0: #ifndef _PKIX_PL_CRLDP_H andre@0: #define _PKIX_PL_CRLDP_H andre@0: andre@0: #ifdef __cplusplus andre@0: extern "C" { andre@0: #endif andre@0: andre@0: /* CRLDP object can not be used without holding a reference andre@0: * to the pkix certificate they belong to. The memory for dp der andre@0: * object is allocated on nssCert certificate - a member of andre@0: * PKIX_PL_Cert struct. */ andre@0: typedef struct pkix_pl_CrlDpStruct { andre@0: /* reference to decoded crldp that allocated on nssCert arena. */ andre@0: const CRLDistributionPoint *nssdp; andre@0: DistributionPointTypes distPointType; andre@0: union { andre@0: CERTGeneralName *fullName; andre@0: /* if dp is a relative name, the issuerName is a merged value andre@0: * of crlIssuer and a relative name. Must be destroyed by CrlDp andre@0: * destructor. */ andre@0: CERTName *issuerName; andre@0: } name; andre@0: PKIX_Boolean isPartitionedByReasonCode; andre@0: } pkix_pl_CrlDp; andre@0: andre@0: andre@0: PKIX_Error * andre@0: pkix_pl_CrlDp_RegisterSelf(void *plContext); andre@0: andre@0: /* Parses CRLDistributionPoint structure and creaetes andre@0: * pkix_pl_CrlDp object. */ andre@0: PKIX_Error * andre@0: pkix_pl_CrlDp_Create(const CRLDistributionPoint *dp, andre@0: const CERTName *certIssuerName, andre@0: pkix_pl_CrlDp **pPkixDP, andre@0: void *plContext); andre@0: #endif /* _PKIX_PL_CRLDP_H */