Colleague interfaces and interface dependencies

The following table lists the names of all objects that implement the IPKIFColleague interface, excluding X.509 extension and CMS attribute classes, where colleague usage is strictly internal to the library. Mediators appear in the table because all mediators are colleagues, though the dependencies of each mediator are those of its associated colleagues. The table should be used to determine what objects must be associated to ensure proper operation. It should be possible to perform transitive closure on any mediator/colleague collection to insure all necessary interfaces are available using the following two tables. For example, when determining the revocation status of a certificate using a CPKIFRevocationStatusMediator2 that has a single CPKIFOCSPChecker colleague, the interfaces listed for CPKIFOCSPChecker must be implemented AND the interfaces of colleagues that provide those services must be satisfied as well. Where optional interfaces are present additional services may be invoked. For example, if a CPKIFPathBuilder2 has access to IPKIFCertRepositoryUpdate functionality, then all certificates acquired during a path building operation will be added to the store(s) implementing the update interface.

 

Colleague name

Interface dependencies

Cache-related colleagues

CPKIFCacheMediator2

Mediator dependencies are a union of the dependencies of associated colleagues

CPKIFCAPIRepository2

None

CPKIFCAPITrustRootCRLRepository2

None

CPKIFCAPICertUpdate2

None

CPKIFCAPICRLUpdate2

None

CPKIFCAPITrustStore2

None

CPKIFCAPIUserRepository2

None

CPKIFCRLDPRetrieval

None

CPKIFLDAPRepository

None

CPKIFNSSTrustStore

None

CPKIFNSSRepository

None

CPKIFNSSCRLUpdate

None

CPKIFNSSCertUpdate

None

SimpleRootStore

None

SimpleCertCache

None

SimpleCRLCache

None

 

 

Crypto-related colleagues

CPKIFCryptoMediator2

Mediator dependencies are a union of the dependencies of associated colleagues

CPKIFCAPI2

None

CPKIFCAPIRaw

None

CPKIFNSS

None

CPKIFNSSRaw

None

CPKIFCryptoPP

None

CPKIFCryptoPPRaw

None

 

 

Path Processing-related colleagues

CPKIFPathProcessingMediator2

Mediator dependencies are a union of the dependencies of associated colleagues

CPKIFPathBuilder2

IPKIFCertRepository

IPKIFTrustCache

IPKIFCertRepositoryUpdate (optional)

IPKIFCRLRepository (optional)

CPKIFPathValidator2

IPKIFCryptoRawOperations

IPKIFCryptoMisc

IPKIFRevocationStatus (optional)

CPKIFPathBuildAndValidate

IPKIFCertRepository

IPKIFTrustCache

IPKIFCertRepositoryUpdate (optional)

IPKIFCRLRepository (optional)

IPKIFCryptoRawOperations

IPKIFCryptoMisc

IPKIFRevocationStatus (optional)

 

 

Revocation status-related colleagues

CPKIFRevocationStatusMediator2

Mediator dependencies are a union of the dependencies of associated colleagues

CPKIFX509CRLChecker

IPKIFCryptoRawOperations

IPKIFCryptoMisc

IPKIFCRLRepository

IPKIFCRLRepositoryUpdate (optional)

IPKIFCertRepository

IPKIFTrustCache

IPKIFPathBuild

IPKIFPathValidate

CPKIFOCSPChecker

IPKIFCryptoMisc

IPKIFCryptoRawOperations

IPKIFCertSearch (optional)

IPKIFPathBuild

IPKIFPathValidate

 

 

Cryptographic message-related colleagues

CPKIFSignedData

IPKIFCryptoMisc

IPKIFCryptoKeyIDOperations

IPKIFCryptoRawOperations

IPKIFPathBuild

IPKIFPathValidate

IPKIFCertSearch (Optional)

CPKIFEnvelopedData

IPKIFCryptoRawOperations

IPKIFCryptoMisc

IPKIFPathBuild

IPKIFPathValidate

IPKIFDefaultKeyManagement (optional)

CPKIFEncryptedData

IPKIFCryptoMisc

IPKIFCryptoRawOperations


Table 1 Colleague interface dependencies

The following table lists the names of all objects that implement the IPKIFColleague interface and lists the names of all interfaces implemented by each object (in addition to ICPKIFColleague, which is implemented by all but is not shown).

Colleague name

Implemented interfaces

Cache-related colleagues

CPKIFCacheMediator2

public IPKIFMediator

public IPKIFTrustCache

public IPKIFPKIRepositoryFull

public IPKIFCertSearch

CPKIFCAPIRepository2

public IPKIFPKIRepository

public IPKIFColleague

CPKIFCAPITrustRootCRLRepository2

public IPKIFCRLRepository

public IPKIFColleague

CPKIFCAPICertUpdate2

public IPKIFCertRepositoryUpdate

public IPKIFColleague

CPKIFCAPICRLUpdate2

public IPKIFCRLRepositoryUpdate

public IPKIFColleague

CPKIFCAPITrustStore2

public IPKIFTrustCache

public IPKIFColleague

CPKIFCAPIUserRepository2

public IPKIFCertSearch

public IPKIFColleague

CPKIFCRLDPRetrieval

public IPKIFCRLRepository

public IPKIFColleague

CPKIFLDAPRepository

public IPKIFPKIRepository

public IPKIFColleague

CPKIFNSSTrustStore

public IPKIFTrustCache

public IPKIFColleague

CPKIFNSSRepository

public IPKIFPKIRepository

public IPKIFColleague

CPKIFNSSCRLUpdate

public IPKIFCRLRepositoryUpdate

public IPKIFColleague

CPKIFNSSCertUpdate

public IPKIFCertRepositoryUpdate

public IPKIFColleague

 

SimpleRootStore

public IPKIFTrustCache

public IPKIFTrustCacheUpdate

public IPKIFColleague

SimpleCertCache

public IPKIFCertRepository

public IPKIFCertRepositoryUpdate

public IPKIFColleague

SimpleCRLCache

public IPKIFCRLRepository

public IPKIFCRLRepositoryUpdate

public IPKIFColleague

 

 

Crypto-related colleagues

CPKIFCryptoMediator2

public IPKIFMediator

public IPKIFCryptoRawOperations

public IPKIFCryptoKeyIDOperations

public IPKIFCryptoMisc

public IPKIFDefaultKeyManagement

public IPKIFCryptoKeyAgree

CPKIFCAPI2

public IPKIFCryptoKeyID

public IPKIFColleague

CPKIFCAPIRaw

public IPKIFCryptoRaw

public IPKIFCryptoMisc

public IPKIFColleague

CPKIFNSS

public IPKIFCryptoKeyID

public IPKIFColleague

CPKIFNSSRaw

public IPKIFCryptoRaw

public IPKIFCryptoMisc

public IPKIFColleague

CPKIFCryptoPP

 public IPKIFCryptoKeyID

public IPKIFColleague

CPKIFCryptoPPRaw

public IPKIFCryptoRaw

public IPKIFCryptoMisc

public IPKIFColleague

 

 

Path Processing-related colleagues

CPKIFPathProcessingMediator2

public IPKIFMediator

public IPKIFPathValidate

public IPKIFPathBuild

public IPKIFDefaultPathManagement

CPKIFPathBuilder2

public IPKIFPathBuild

CPKIFPathValidator2

public IPKIFPathValidate

CPKIFPathBuildAndValidate

public IPKIFColleague

public IPKIFPathBuildAndValidate

 

 

Revocation status-related colleagues

CPKIFRevocationStatusMediator2

public IPKIFMediator

public IPKIFRevocationStatus

CPKIFX509CRLChecker

public IPKIFRevocationStatus

CPKIFOCSPChecker

public IPKIFRevocationStatus

 

 

Cryptographic message-related colleagues

CPKIFSignedData

public IPKIFMediator

CPKIFEnvelopedData

public IPKIFMediator

CPKIFEncryptedData

public IPKIFMediator

Table 2 Colleague interface support