BasicChecksUtils.h
Go to the documentation of this file.00001
00009 #ifndef __BASICCHECKSUTILS_H__
00010 #define __BASICCHECKSUTILS_H__
00011
00012 #include "PKIFdll.h"
00013
00014 #include <bitset>
00015 #include <vector>
00016
00017 FD_LIST_PTR(CPKIFGeneralSubtree);
00018 FD_SMART_PTR(CPKIFPolicyInformationSet);
00019 FD_SMART_PTR(CPKIFPolicyMappings);
00020 FD_SMART_PTR(CPKIFCertificate);
00021 FD_SMART_PTR(CPKIFCertificateNodeListWithSourceInfo);
00022 FD_LIST_PTR(CPKIFNameAndKeyWithScore);
00023 FD_LIST_PTR(CPKIFPolicyInformation);
00024 FD_LIST_PTR(CPKIFCertificateSource);
00025
00026 class CPKIFCertificatePath;
00027 class CPKIFPathValidationResults;
00028 class IPKIFCryptoRawOperations;
00029 class IPKIFCryptoMisc;
00030
00031
00032 void CAC_API FindErrorAndSetOnResults(const CPKIFCertificatePath& path, CPKIFPathValidationResults& results);
00033
00034
00035 void CAC_API IntersectSubtrees(CPKIFGeneralSubtreeListPtr& authSetCondensed, CPKIFGeneralSubtreeListPtr& initSet, CPKIFGeneralSubtreeListPtr& userSet);
00036 bool CheckNameConstraints(CPKIFCertificatePtr& curCert, CPKIFGeneralSubtreeListPtr& permSubtrees, CPKIFGeneralSubtreeListPtr& exclSubtrees, bool permSubtreesHasBeenSet);
00037
00038
00039 bool CAC_API PathSigChecker(const CPKIFCertificatePath& path, IPKIFCryptoRawOperations* crypto, IPKIFCryptoMisc* cryptoMisc, CPKIFPathValidationResults& results);
00040
00041
00042
00043 bool IsEmpty(CPKIFCertificateNodeListWithSourceInfoPtr& node);
00044 bool IsEmptyNameAndKey(CPKIFNameAndKeyWithScoreListPtr& node);
00045 bool IsNullCertificateSourceList(CPKIFCertificateSourceListPtr& node);
00046
00047
00048 bool RowContainsAnyPolicy(const CPKIFPolicyInformationListPtr& test);
00049
00050
00051 void CAC_API IntersectSets(CPKIFPolicyInformationListPtr& authSetCondensed, CPKIFPolicyInformationListPtr& initSet, CPKIFPolicyInformationListPtr& userSet);
00052
00053
00054 void AddPoliciesToAuthSet(const CPKIFPolicyInformationSetPtr& certPols, const std::bitset<3>& indicators,
00055 std::vector<CPKIFPolicyInformationListPtr>& authSet, bool isSelfIssued, bool isIntermediate);
00056
00057
00058 void ProcessPolicyMapping(const CPKIFPolicyMappingsPtr& policyMappings, const std::bitset<3>& indicators,
00059 std::vector<CPKIFPolicyInformationListPtr>& authSet);
00060
00061
00063 struct IssuerDomainMappingList
00064 {
00072 IssuerDomainMappingList() {m_next = NULL; m_bProcessed = false;}
00073 CPKIFPolicyInformationPtr m_issuerDomain;
00074 CPKIFPolicyInformationList m_subjectDomains;
00075 bool m_bProcessed;
00076 struct IssuerDomainMappingList* m_next;
00077 };
00079
00080 #include "CIssuerDomainMappingList.h"
00081
00082
00083 #include "RowDoesContainPolicyInSet.h"
00084
00085
00086
00087
00088
00089 #include "RowDoesNotContainPolicyInSet.h"
00090
00091
00092
00093
00094
00095 #include "MatchesPolicy.h"
00096
00097
00098
00099 #endif
00100