CPKIFCertificatePath Class Reference

#include <PKIFCertificatePath.h>

Collaboration diagram for CPKIFCertificatePath:

Collaboration graph
[legend]

List of all members.


Detailed Description

The CPKIFCertificatePath class serves as a container for information shared across alls to BuildPath and ValidatePath. Path building and validation is often an iterative process, e.g. build a path, fail to validate it, and then search for another path. The instance of CPKIFCertificatePath passed to and acted upon by BuildPath and ValidatePath contains a variety of state information to support such operations. Typically, applications do not act upon instances of CPKIFCertificatePath for purposes other than to establish the target certificate, specify initial path settings and to collect post-validation information such as path builder statistics, intermediate certificate information and revocation information. Applications need not and should not invoke any functions on a path object between a call to BuildPath and a call to ValidatePath.

TSP-enforcing: Yes

Definition at line 45 of file PKIFCertificatePath.h.


Public Member Functions

 CPKIFCertificatePath (void)
virtual ~CPKIFCertificatePath (void)
void SetTarget (const CPKIFCertificatePtr &cert)
void GetTarget (CPKIFCertificatePtr &cert) const
void SetPath (const CPKIFCertificateNodeList &path)
void GetPath (CPKIFCertificateNodeList &path) const
void SetState (const CPKIFCertificatePathStatePtr &state)
void GetState (CPKIFCertificatePathStatePtr &state) const
void SetTrustRoot (const IPKIFTrustAnchorPtr &root)
void GetTrustRoot (IPKIFTrustAnchorPtr &root) const
void SetPathSettings (const CPKIFPathSettingsPtr &settings)
void GetPathSettings (CPKIFPathSettingsPtr &settings) const
void SetBuilderStats (const CPKIFBuilderStatisticsPtr &stats)
void GetBuilderStats (CPKIFBuilderStatisticsPtr &stats) const

Constructor & Destructor Documentation

CPKIFCertificatePath::CPKIFCertificatePath ( void   ) 

Interface: External

This function creates and initializes a CPKIFCertificatePath object. Prior to using an object of this type to perform a certification path development operation, a target certificate must be specified by a call to SetTarget, and, optionally, path settings can be specified by a call to SetPathSettings.

Returns:
None

Definition at line 40 of file CACCertificatePath.cpp.

References LOG_STRING_DEBUG, and TOOLKIT_PATH_MISC.

CPKIFCertificatePath::~CPKIFCertificatePath ( void   )  [virtual]

Interface: External

This function destroys CPKIFCertificatePath objects.

Returns:
None

Definition at line 52 of file CACCertificatePath.cpp.

References LOG_STRING_DEBUG, and TOOLKIT_PATH_MISC.


Member Function Documentation

void CPKIFCertificatePath::SetTarget ( const CPKIFCertificatePtr &  cert  ) 

Interface: External

This function is used to set the target of a path building operation and/or path validation operation. The target must be specified prior to invoking either the IPKIFPathBuild::BuildPath or the IPKIFPathBuildAndValidate::BuildAndValidatePath function.

Applications can pass an instance of CPKIFCertificatePtr containing a NULL pointer to clear a previously specified target certificate. However, a non-NULL target must be specified before attempting path development or validation.

Returns:
None
Parameters:
cert  [out] Reference to a smart pointer to a CPKIFCertificate object that is the target of a path development or validation operation.

Definition at line 84 of file CACCertificatePath.cpp.

void CPKIFCertificatePath::GetTarget ( CPKIFCertificatePtr &  cert  )  const

Interface: External

This function is used to get the target of a path building operation and/or path validation operation. The target must be specified prior to invoking either the IPKIFPathBuild::BuildPath or the IPKIFPathBuildAndValidate::BuildAndValidatePath function

Returns:
None
Parameters:
cert  [out] Reference to a smart pointer to a CPKIFCertificate object that is the target of a path development or validation operation.

Definition at line 100 of file CACCertificatePath.cpp.

Referenced by AuditPathEvent(), CPKIFScvpPathBuildAndValidate::BuildAndValidatePath(), CPKIFScvpPathBuild::BuildPath(), CPKIFReversiblePathBuilder::BuildPath(), CPKIFPathBuilder2::BuildPath(), CPKIFOCSPChecker::CheckStatusPath(), CPKIFPathLogger::LogValidationResults(), MakeQueryForPath(), and CPKIFPathValidator2::ValidatePath().

void CPKIFCertificatePath::SetPath ( const CPKIFCertificateNodeList path  ) 

Interface: External

SetPath is rarely used by applications but may be used to input a properly ordered certificate path manually prior to a validation operation.

The path is an ordered list of certificates that represents a certification path from the certificate available via a call to GetTarget to the trust root available via a call to GetTrustRoot. The first node in the vector will be a certificate issued by the trust anchor. The last node in the vector will be the target certificate.

Returns:
None
Parameters:
path  [in] Reference to a CPKIFCertificateNodeList object that contains an ordered list of certificates.

Definition at line 121 of file CACCertificatePath.cpp.

Referenced by CPKIFReversiblePathBuilder::BuildPath(), CPKIFPathBuilder2::BuildPath(), CertPathWantBackToResultsAndStores(), CertPathWantBackToResultsAndStoresForDpd(), and PathOK().

void CPKIFCertificatePath::GetPath ( CPKIFCertificateNodeList path  )  const

Interface: External

GetPath is used to retrieve the certificates that comprise a certification path resulting from a path building operation.

The path is an ordered list of certificates that represents a certification path from the certificate available via a call to GetTarget to the trust root available via a call to GetTrustRoot. The first node in the vector will be a certificate issued by the trust anchor. The last node in the vector will be the target certificate.

Returns:
None
Parameters:
path  [out] Reference to a CPKIFCertificateNodeList object that contains an ordered list of certificates.

Definition at line 139 of file CACCertificatePath.cpp.

Referenced by _CreateComplexOCSPRequest(), CPKIFPathBuilder2::BuildPath(), CPKIFCertStatusCache::CheckStatusPath(), CPKIFX509CRLChecker::CheckStatusPath(), CPKIFOCSPChecker::CheckStatusPath(), CPKIFPathBasicChecks2::DoChecks(), FindErrorAndSetOnResults(), CPKIFPathLogger::LogPath(), PathSigChecker(), CPKIFCertStatusCache::PutObjectsInPath(), and CPKIFPathValidator2::ValidatePath().

void CPKIFCertificatePath::SetState ( const CPKIFCertificatePathStatePtr &  state  ) 

Interface: External

These functions are not used by applications. They provide a means of sharing state information between calls to BuildPath and ValidatePath.

Returns:
None
Parameters:
state  [in] Reference to a smart pointer to a CPKIFCertificatePathState object

Definition at line 156 of file CACCertificatePath.cpp.

Referenced by CPKIFScvpPathBuild::BuildPath(), and CPKIFPathBuilder2::BuildPath().

void CPKIFCertificatePath::GetState ( CPKIFCertificatePathStatePtr &  state  )  const

Interface: External

These functions are not used by applications. They provide a means of sharing state information between calls to BuildPath and ValidatePath.

Returns:
None
Parameters:
state  [out] Reference to a smart pointer to a CPKIFCertificatePathState object

Definition at line 170 of file CACCertificatePath.cpp.

Referenced by CPKIFScvpPathBuild::BuildPath(), CPKIFReversiblePathBuilder::BuildPath(), and CPKIFPathBuilder2::BuildPath().

void CPKIFCertificatePath::SetTrustRoot ( const IPKIFTrustAnchorPtr &  root  ) 

Interface: External

SetTrustRoot is rarely used by applications but may be used to input a trust root for a manually entered certificate path prior to a validation operation.

Returns:
None
Parameters:
root  [in] Reference to a smart pointer to a CPKIFTrustRoot object

Definition at line 186 of file CACCertificatePath.cpp.

Referenced by CPKIFReversiblePathBuilder::BuildPath(), CPKIFPathBuilder2::BuildPath(), CertPathWantBackToResultsAndStores(), CertPathWantBackToResultsAndStoresForDpd(), and PathOK().

void CPKIFCertificatePath::GetTrustRoot ( IPKIFTrustAnchorPtr &  root  )  const

void CPKIFCertificatePath::SetPathSettings ( const CPKIFPathSettingsPtr &  settings  ) 

Interface: External

This function is used to set the path processing settings to be used during path development and validation operations involving an instance of this class. The CPKIFPathSettings object can be used to control various aspects of path development and validation, including specification of RFC3280 path validation inputs.

A CPKIFPathSettingsPtr object containing a NULL pointer can be passed to clear previously specified settings. If application-specified settings are not available, path development and validation use temporary CPKIFPathSettings objects containing default values. See CPKIFPathSettings documentation for information on default values.

Returns:
None
Parameters:
settings  [in] Reference to a smart pointer to a CPKIFPathSettings object.

Definition at line 220 of file CACCertificatePath.cpp.

Referenced by CPKIFPathProcessingMediator2::BuildAndValidatePath(), CPKIFPathProcessingMediator2::BuildPath(), PathOK(), and CPKIFPathProcessingMediator2::ValidatePath().

void CPKIFCertificatePath::GetPathSettings ( CPKIFPathSettingsPtr &  settings  )  const

Interface: External

This function is used to retrive the path processing settings to be used during path development and validation operations involving an instance of this class. The CPKIFPathSettings object can be used to control various aspects of path development and validation, including specification of RFC3280 path validation inputs.

Returns:
None
Parameters:
settings  [out] Reference to a smart pointer to a CPKIFPathSettings object.

Definition at line 235 of file CACCertificatePath.cpp.

Referenced by CPKIFPathBuildAndValidate::BuildAndValidatePath(), CPKIFPathProcessingMediator2::BuildAndValidatePath(), CPKIFPathBuilder2::BuildPath(), CPKIFPathProcessingMediator2::BuildPath(), CPKIFCertStatusCache::CheckStatusPath(), CPKIFX509CRLChecker::CheckStatusPath(), CPKIFOCSPChecker::CheckStatusPath(), CPKIFPathBasicChecks2::DoChecks(), CPKIFPathLogger::LogValidationResults(), MakeQueryForPath(), CPKIFPathValidator2::ValidatePath(), and CPKIFPathProcessingMediator2::ValidatePath().

void CPKIFCertificatePath::SetBuilderStats ( const CPKIFBuilderStatisticsPtr &  stats  ) 

Interface: External

SetBuilderStats is not used by applications.

Returns:
None
Parameters:
stats  [in] Reference to a smart pointer to a CPKIFBuilderStatistics object

Definition at line 250 of file CACCertificatePath.cpp.

Referenced by CPKIFPathBuilder2::BuildPath().

void CPKIFCertificatePath::GetBuilderStats ( CPKIFBuilderStatisticsPtr &  stats  )  const

Interface: External

GetBuilderStats is used to retrieve the statistics compiled by the path builder object during a path development operation.

Returns:
None
Parameters:
stats  [out] Reference to a smart pointer to a CPKIFBuilderStatistics object

Definition at line 263 of file CACCertificatePath.cpp.

Referenced by CPKIFPathLogger::LogPath().


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

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