Module: Miscellaneous
Definition in file BuilderUtils.cpp.
#include "BuilderUtils.h"
#include "PKIFPathBasicChecks2.h"
#include "ToolkitUtils.h"
#include "PKIFPathException.h"
#include "PKIFFuncStorage.h"
#include "PKIFCryptUtils.h"
#include "IPKIFCryptoRaw.h"
#include "PKIFX509Extensions2.h"
#include "AuthorityKeyIdentifier.h"
#include "SubjectKeyIdentifier.h"
#include "PKIFPathSettings.h"
#include "BasicConstraints.h"
#include "PolicyMappings.h"
#include "PolicyInformationSet.h"
#include "Certificate.h"
#include "KeyUsage.h"
#include "ExtendedKeyUsage.h"
#include "PathResults.h"
#include "CertificateNodeListWithSourceInfo.h"
#include "NodeNotInNodeListAndNotIgnoredAndIssuedBy.h"
#include "OID.h"
#include "GottaMatch.h"
#include "PolicyInformation.h"
#include "IssuedBy.h"
#include "IgnoreNotIssuedByOp.h"
#include "PKIFCertificateNodeEntry.h"
#include "Name.h"
#include "PKIFCertificatePath.h"
#include "IPKIFTrustAnchor.h"
#include "PKIFReversePathState.h"
#include "PKIFNameAndKeyWithScore.h"
#include <vector>
#include <iostream>
#include <fstream>

Go to the source code of this file.
Functions | |
| bool | SomeMatch (CPKIFPolicyInformationSetPtr &fromCert, CPKIFPolicyInformationSetPtr &fromPrevCert, CPKIFPolicyMappingsPtr &policyMappings) |
| bool | SomeMatch (CPKIFPolicyInformationSetPtr &fromCert, CPKIFPolicyInformationListPtr &polsFromPrevCert, CPKIFPolicyMappingsPtr &policyMappings) |
| bool | KeyIDsMatch (CPKIFAuthorityKeyIdentifierPtr &akid, CPKIFCertificatePtr &curCert) |
| bool | CheckPolicies (CPKIFCertificatePtr &subjectCert, CPKIFCertificatePtr &issuerCert, CPKIFPathSettingsPtr &settings) |
| bool | CheckKIDsAndSignatures (CPKIFCertificatePtr &subjectCert, CPKIFCertificatePtr &issuerCert) |
| void | ClearAllIgnore (CPKIFCertificateNodeListWithSourceInfoPtr &tablePos) |
| void | ClearAllIgnore (CPKIFNameAndKeyWithScoreListPtr &tablePos) |
| bool | SetNextToIgnore (CPKIFCertificateNodeListWithSourceInfoPtr &tablePos) |
| bool | SetNextToIgnore (CPKIFNameAndKeyWithScoreListPtr &tablePos) |
| void | RemoveAllIssuedBy (CPKIFCertificateNodeListWithSourceInfoPtr &pos, CPKIFNamePtr &prevName) |
| void | RemoveAllIssuedBy (CPKIFNameAndKeyWithScoreListPtr &pos, CPKIFNamePtr &prevName) |
| void | RemoveAllIssuedTo (CPKIFNameAndKeyWithScoreListPtr &pos, CPKIFNamePtr &prevName) |
| void | IgnoreNotIssuedBy (CPKIFCertificateNodeListWithSourceInfoPtr &pos, CPKIFNamePtr &issuerName) |
| void | IgnoreNotIssuedBy (CPKIFNameAndKeyWithScoreListPtr &pos, CPKIFNamePtr &issuerName) |
| CPKIFCertificateNodeEntryPtr | GetFirstNonIgnoredNodeNotAlreadyInPathIssuedBy (CPKIFCertificateNodeListWithSourceInfoPtr &pos, CPKIFCertificateNodeList &builtPath, IPKIFNameAndKey *issuer, CPKIFPathSettingsPtr &settings) |
| CPKIFNameAndKeyWithScorePtr | GetFirstNonIgnoredNodeNotAlreadyInPathIssuedBy (CPKIFNameAndKeyWithScoreListPtr &pos, CPKIFNameAndKeyWithScoreList &builtPath, IPKIFNameAndKeyPtr &issuer, CPKIFPathSettingsPtr &settings) |
| void | DumpTable (vector< CPKIFCertificateNodeListWithSourceInfoPtr > &table, const char *title) |
| void | anythingGoes (const CPKIFCertificateNodeEntryPtr &certNode, CPKIFPathValidationResults &results, CertificateType type) |
| bool | PathOK (CPKIFCertificateNodeList &builtPath, IPKIFTrustAnchorPtr &curRoot, CPKIFPathSettingsPtr &settings, CPKIFPathValidationResults &tmpResults) |
Variables | |
| ofstream | g_pathTableLogFile |
| CPKIFOIDPtr | g_entuOid |
| void anythingGoes | ( | const CPKIFCertificateNodeEntryPtr & | certNode, | |
| CPKIFPathValidationResults & | results, | |||
| CertificateType | type | |||
| ) |
| certNode | [in] Pointer to the certificate node |
| results | [in] Reference to a CPKIFPathValidationResults object containing the result information that should be written to the log |
| type | [in] CertificateType value indicating the type of certificate, e.g. EE or CA |
Definition at line 526 of file BuilderUtils.cpp.
References CPKIFX509ExtensionMediator2::GetInstance().
Referenced by PathOK().
| bool CheckKIDsAndSignatures | ( | CPKIFCertificatePtr & | subjectCert, | |
| CPKIFCertificatePtr & | issuerCert | |||
| ) |
Interface: Subsystem
This is a helper function that checks key identifiers and signatures
| True | if key ids match or signature is verified | |
| False | if signature verification failed |
| subjectCert | [in] Subject certificate |
| issuerCert | [in] Issuer certificate |
Definition at line 106 of file BuilderUtils.cpp.
References GetPlatformCryptoRaw(), KeyIDsMatch(), and IPKIFCryptoRawOperations::VerifyCertificate().
| bool CheckPolicies | ( | CPKIFCertificatePtr & | subjectCert, | |
| CPKIFCertificatePtr & | issuerCert, | |||
| CPKIFPathSettingsPtr & | settings | |||
| ) |
Interface: Subsystem
This is a helper function that checks policies on subject and issuer certificates
| subjectCert | [in] Subject certificate |
| issuerCert | [in] Issuer certificate |
| settings | [in] Reference to a smart pointer to a CPKIFPathSettings object containing the path processing settings to use when checking policies |
Definition at line 58 of file BuilderUtils.cpp.
References g_anyPolicy, and SomeMatch().
| void ClearAllIgnore | ( | CPKIFNameAndKeyWithScoreListPtr & | tablePos | ) |
Interface: Subsystem
This function walks a cert node list and clears the ignore flag on each entry.
| tablePos | [in] The certificate node list to clear. |
Definition at line 156 of file BuilderUtils.cpp.
| void ClearAllIgnore | ( | CPKIFCertificateNodeListWithSourceInfoPtr & | tablePos | ) |
Interface: Subsystem
This function walks a cert node list and clears the ignore flag on each entry.
| tablePos | [in] The certificate node list to clear. |
Definition at line 140 of file BuilderUtils.cpp.
| void DumpTable | ( | vector< CPKIFCertificateNodeListWithSourceInfoPtr > & | table, | |
| const char * | title | |||
| ) |
Interface: External
This function outputs the path building table
| table | [in] A vector of certificate nodes |
Definition at line 473 of file BuilderUtils.cpp.
References g_pathTableLogFile, and CPKIFException::print().
| CPKIFNameAndKeyWithScorePtr GetFirstNonIgnoredNodeNotAlreadyInPathIssuedBy | ( | CPKIFNameAndKeyWithScoreListPtr & | pos, | |
| CPKIFNameAndKeyWithScoreList & | builtPath, | |||
| IPKIFNameAndKeyPtr & | issuer, | |||
| CPKIFPathSettingsPtr & | settings | |||
| ) |
Interface: Subsystem
This function return first not that is not ignored and not already in the path issued by the provided certificate
Now also checks signatures, where KIDs miss, and policies
| pos | [in] The certificate node list |
| builtPath | [in] Pointer to a CPKIFCertificateNodeList object containing the CPKIFCertificateNodeEntry objects |
| issuer | [in] Issuer certificate |
| settings | [in] Reference to a smart pointer to a CPKIFPathSettings object containing the path processing settings |
Definition at line 409 of file BuilderUtils.cpp.
References NodeNotInNodeListAndNotIgnoredAndIssuedBy::SetIssuer(), NodeNotInNodeListAndNotIgnoredAndIssuedBy::SetNodeList(), and NodeNotInNodeListAndNotIgnoredAndIssuedBy::SetPathSettings().
| CPKIFCertificateNodeEntryPtr GetFirstNonIgnoredNodeNotAlreadyInPathIssuedBy | ( | CPKIFCertificateNodeListWithSourceInfoPtr & | pos, | |
| CPKIFCertificateNodeList & | builtPath, | |||
| IPKIFNameAndKey * | issuer, | |||
| CPKIFPathSettingsPtr & | settings | |||
| ) |
Interface: Subsystem
This function return first not that is not ignored and not already in the path issued by the provided certificate
Now also checks signatures, where KIDs miss, and policies
| pos | [in] The certificate node list |
| builtPath | [in] Pointer to a CPKIFCertificateNodeList object containing the CPKIFCertificateNodeEntry objects |
| issuer | [in] Issuer certificate |
| settings | [in] Reference to a smart pointer to a CPKIFPathSettings object containing the path processing settings |
Definition at line 348 of file BuilderUtils.cpp.
References IPKIFNameAndKey::GetSubjectName(), NodeNotInNodeListAndNotIgnoredAndIssuedBy::SetIssuer(), NodeNotInNodeListAndNotIgnoredAndIssuedBy::SetNodeList(), and NodeNotInNodeListAndNotIgnoredAndIssuedBy::SetPathSettings().
| void IgnoreNotIssuedBy | ( | CPKIFNameAndKeyWithScoreListPtr & | pos, | |
| CPKIFNamePtr & | issuerName | |||
| ) |
Interface: Subsystem
This function removes all nodes from the node list that were not issued by prevName
| pos | [in] The name and key node list |
| issuerName | [in] A reference to a smart pointer to CPKIFName object that contains the name of the issuer |
Definition at line 328 of file BuilderUtils.cpp.
References IgnoreNotIssuedByOp::SetRHS().
| void IgnoreNotIssuedBy | ( | CPKIFCertificateNodeListWithSourceInfoPtr & | pos, | |
| CPKIFNamePtr & | issuerName | |||
| ) |
Interface: Subsystem
This function removes all nodes from the node list that were not issued by prevName
| pos | [in] The certificate node list |
| issuerName | [in] A reference to a smart pointer to CPKIFName object that contains the name of the issuer |
Definition at line 311 of file BuilderUtils.cpp.
References IgnoreNotIssuedByOp::SetRHS().
| bool KeyIDsMatch | ( | CPKIFAuthorityKeyIdentifierPtr & | akid, | |
| CPKIFCertificatePtr & | curCert | |||
| ) |
Interface: Subsystem
This is a helper function that compares the AKID and SKID for a match
| akid | [in] The authority key id to compare |
| curCert | [in] Certificate from which SKID will be obtained |
Definition at line 133 of file CACDefaultScoring.cpp.
| bool PathOK | ( | CPKIFCertificateNodeList & | builtPath, | |
| IPKIFTrustAnchorPtr & | curRoot, | |||
| CPKIFPathSettingsPtr & | settings, | |||
| CPKIFPathValidationResults & | tmpResults | |||
| ) |
Interface: Subsystem
This function is a helper function that calls PKIFPathBasicChecks2::DoChecks and returns true if DoChecks succeeds
| builtPath | [in] Reference to a CPKIFCertificateNodeList object which contains the constructed path |
| curRoot | [in] Reference to a CPKIFTrustRoot object containing the trust anchor information |
| settings | [in] Reference to a CPKIFPathSettings object containing path settings to use when performing path processing operations |
| tmpResults | [in/out] Reference to a CPKIFPathValidationResults object containing the result information |
Definition at line 560 of file BuilderUtils.cpp.
References anythingGoes(), CPKIFPathBasicChecks2::DoChecks(), g_entuOid, CPKIFCertificatePath::SetPath(), CPKIFCertificatePath::SetPathSettings(), and CPKIFCertificatePath::SetTrustRoot().
| void RemoveAllIssuedBy | ( | CPKIFNameAndKeyWithScoreListPtr & | pos, | |
| CPKIFNamePtr & | prevName | |||
| ) |
Interface: Subsystem
This function removes all nodes from the node list that are issued by prevName
| pos | [in] The certificate node list |
| prevName | [in] A reference to a smart pointer to CPKIFName object that contains the name of the issuer |
Definition at line 270 of file BuilderUtils.cpp.
References IssuedByNameAndKey::SetRHS().
| void RemoveAllIssuedBy | ( | CPKIFCertificateNodeListWithSourceInfoPtr & | pos, | |
| CPKIFNamePtr & | prevName | |||
| ) |
Interface: Subsystem
This function removes all nodes from the node list that are issued by prevName
| pos | [in] The certificate node list |
| prevName | [in] A reference to a smart pointer to CPKIFName object that contains the name of the issuer |
Definition at line 250 of file BuilderUtils.cpp.
References IssuedBy::SetRHS().
| void RemoveAllIssuedTo | ( | CPKIFNameAndKeyWithScoreListPtr & | pos, | |
| CPKIFNamePtr & | prevName | |||
| ) |
Interface: Subsystem
This function removes all nodes from the node list that are issued by prevName
| pos | [in] The certificate node list |
| prevName | [in] A reference to a smart pointer to CPKIFName object that contains the name of the issuer |
Definition at line 290 of file BuilderUtils.cpp.
References IssuedTo::SetRHS().
| bool SetNextToIgnore | ( | CPKIFNameAndKeyWithScoreListPtr & | tablePos | ) |
Interface: Subsystem
This function sets the first non-ignored node to ignored
| tablePos | [in] The certificate node list |
Definition at line 219 of file BuilderUtils.cpp.
| bool SetNextToIgnore | ( | CPKIFCertificateNodeListWithSourceInfoPtr & | tablePos | ) |
Interface: Subsystem
This function sets the first non-ignored node to ignored
| tablePos | [in] The certificate node list |
Definition at line 188 of file BuilderUtils.cpp.
| bool SomeMatch | ( | CPKIFPolicyInformationSetPtr & | fromCert, | |
| CPKIFPolicyInformationListPtr & | polsFromPrevCert, | |||
| CPKIFPolicyMappingsPtr & | policyMappings | |||
| ) |
Interface: Subsystem
This is a helper function that compares policy information for some match
| fromCert | [in]A pointer to a reference to CPKIFPolicyInformationSet object containing the policies from certificate |
| polsFromPrevCert | [in]A pointer to a reference to CPKIFPolicyInformationSet object containing the policies from the previous certificate |
| policyMappings | [in]A pointer to a reference to CPKIFPolicyInformationSet object |
Definition at line 306 of file CACDefaultScoring.cpp.
| bool SomeMatch | ( | CPKIFPolicyInformationSetPtr & | fromCert, | |
| CPKIFPolicyInformationSetPtr & | fromPrevCert, | |||
| CPKIFPolicyMappingsPtr & | policyMappings | |||
| ) |
Interface: Subsystem
This is a helper function that compares policy information for some match.
| fromCert | [in]A pointer to a reference to CPKIFPolicyInformationSet object containing the policies from certificate |
| fromPrevCert | [in]A pointer to a reference to CPKIFPolicyInformationSet object containing the policies from the previous certificate |
| policyMappings | [in]A pointer to a reference to CPKIFPolicyInformationSet object |
Definition at line 384 of file CACDefaultScoring.cpp.
References SomeMatch().
| CPKIFOIDPtr g_entuOid |
| ofstream g_pathTableLogFile |
1.5.6