CPKIFPathBuilder2 Class Reference

#include <PKIFPathBuilder2.h>

Inheritance diagram for CPKIFPathBuilder2:

Inheritance graph
[legend]
Collaboration diagram for CPKIFPathBuilder2:

Collaboration graph
[legend]

List of all members.


Detailed Description

The purpose of this class is to perform forward-direction path development in the environment defined by the associated mediators. Given a target certificate and access to appropriate interfaces, CPKIFPathBuilder2 will develop and return candidate certification paths. When invoked iteratively with path validation during path building disabled, CPKIFPathBuilder2 will return all possible paths from the target certificate to an available trust anchor.

CPKIFPathBuilder2 will first attempt to build a path by querying all local sources of information (via the associated CPKIFCacheMediator2). If no certificate is found from a local source, all available remote sources are queried. Where multiple certificates are discovered for a single entity, the certificates are sorted using a static function of the CPKIFDefaultScoring class.

This class can perform basic path validation checks to avoid returning certification paths that will fail path validation (it does not perform signature checks or revocation status checks). Information about all paths developed is collected in an instance of CPKIFBuilderStatistics, which is available from the active CPKIFPathSettings instance.

TSP-enforcing: No

Definition at line 43 of file PKIFPathBuilder2.h.


Public Member Functions

 CPKIFPathBuilder2 (void)
virtual ~CPKIFPathBuilder2 (void)
void Initialize ()
bool BuildPath (CPKIFCertificatePath &path)

Friends

struct CPKIFPathBuilder2Impl

Constructor & Destructor Documentation

CPKIFPathBuilder2::CPKIFPathBuilder2 ( void   ) 

Interface: External

This function creates an instance of CPKIFPathBuilder2.

Returns:
None

Definition at line 153 of file PKIFPathBuilder2.cpp.

References LOG_STRING_DEBUG.

CPKIFPathBuilder2::~CPKIFPathBuilder2 ( void   )  [virtual]

Interface: External

This function destroys an instance of CPKIFPathBuilder2.

Returns:
None

Definition at line 166 of file PKIFPathBuilder2.cpp.

References LOG_STRING_DEBUG.


Member Function Documentation

void CPKIFPathBuilder2::Initialize ( void   )  [virtual]

Interface: External

This function initializes an instance for use in a collection of colleagues held by a mediator object.

Returns:
None

Reimplemented from IPKIFColleague.

Definition at line 180 of file PKIFPathBuilder2.cpp.

References LOG_STRING_DEBUG.

bool CPKIFPathBuilder2::BuildPath ( CPKIFCertificatePath path  )  [virtual]

Interface: External

BuildPath takes a CPKIFCertificatePath object containing a target certificate and uses associated, available interfaces to construct a certificate path from the target to a trust anchor.

The CPKIFCertificatePath object passed via the path parameter serves many functions. The path parameter must contain at least a target certificate object and a path settings object. When BuildPath is first called for a particular CPKIFCertificatePath object, this function will create a path building state object and attach it to the path object to guide future invocations of BuildPath for the same path object, e.g. when a path returned by BuildPath fails validation and an alternative path is sought.

Returns:
True if a path could be found and false otherwise
Exceptions:
CPKIFPathException(COMMON_INVALID_INPUT) 
CPKIFPathException(COMMON_MEDIATOR_MISSING) 
Parameters:
path  [in/out] Reference to a CPKIFCertificatePath object that contains information used to construct a path to the path builder and to return a developed path from the path builder to the calling application

Implements IPKIFPathBuild.

Definition at line 1322 of file PKIFPathBuilder2.cpp.

References COMMON_INVALID_INPUT, COMMON_MEDIATOR_MISSING, CPKIFCertificatePath::GetPath(), CPKIFCertificatePath::GetPathSettings(), CPKIFCertificatePath::GetState(), CPKIFCertificatePath::GetTarget(), IPKIFTrustCache::GetTrustRoots(), PKIFENUMS::LOCAL, LOG_STRING_DEBUG, LOG_STRING_INFO, CPKIFBasicPathState2::m_bInitCompleteLocal, CPKIFBasicPathState2::m_curRoot, CPKIFBasicPathState2::m_maxSource, CPKIFBasicPathState2::m_nGrowCount, CPKIFBasicPathState2::m_reserved, CPKIFBasicPathState2::m_rootList, CPKIFBasicPathState2::m_table, RAISE_PATH_EXCEPTION, CPKIFCertificatePath::SetBuilderStats(), CPKIFCertificatePath::SetPath(), CPKIFCertificatePath::SetState(), CPKIFBasicPathState2::SetTrustRoot(), and CPKIFCertificatePath::SetTrustRoot().


Friends And Related Function Documentation

friend struct CPKIFPathBuilder2Impl [friend]

Definition at line 45 of file PKIFPathBuilder2.h.


The documentation for this class was generated from the following files:

Generated on Mon Nov 15 11:20:32 2010 for PublicKeyInfrastructureFramework(PKIF) by  doxygen 1.5.6