#include <PKIFPathBuilder2.h>
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 |
CPKIFPathBuilder2::CPKIFPathBuilder2 | ( | void | ) |
Interface: External
This function creates an instance of CPKIFPathBuilder2.
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.
Definition at line 166 of file PKIFPathBuilder2.cpp.
References LOG_STRING_DEBUG.
void CPKIFPathBuilder2::Initialize | ( | void | ) | [virtual] |
Interface: External
This function initializes an instance for use in a collection of colleagues held by a mediator object.
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.
CPKIFPathException(COMMON_INVALID_INPUT) | ||
CPKIFPathException(COMMON_MEDIATOR_MISSING) |
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().
friend struct CPKIFPathBuilder2Impl [friend] |
Definition at line 45 of file PKIFPathBuilder2.h.