Data Structures |
| struct | PCertificateChainEngine |
| struct | CERT_CHAIN_ENGINE_CONFIG_NO_EXCLUSIVE_ROOT |
| struct | PCertificateChain |
| struct | PCERT_CHAIN_PARA_NO_EXTRA_FIELDS |
Defines |
| #define | NONAMELESSUNION |
| #define | CERT_CHAIN_PARA_HAS_EXTRA_FIELDS |
| #define | CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS |
| #define | DEFAULT_CYCLE_MODULUS 7 |
| #define | trace_usage_bit(bits, bit) if ((bits) & (bit)) TRACE_(chain)("%s\n", #bit) |
| #define | trace_cert_type_bit(bits, bit) if ((bits) & (bit)) TRACE_(chain)("%s\n", #bit) |
| #define | CHAIN_QUALITY_SIGNATURE_VALID 0x16 |
| #define | CHAIN_QUALITY_TIME_VALID 8 |
| #define | CHAIN_QUALITY_COMPLETE_CHAIN 4 |
| #define | CHAIN_QUALITY_BASIC_CONSTRAINTS 2 |
| #define | CHAIN_QUALITY_TRUSTED_ROOT 1 |
| #define | CHAIN_QUALITY_HIGHEST |
| #define | IS_TRUST_ERROR_SET(TrustStatus, bits) (TrustStatus)->dwErrorStatus & (bits) |
Typedefs |
| typedef BOOL(WINAPI * | CertVerifyCertificateChainPolicyFunc )(LPCSTR szPolicyOID, PCCERT_CHAIN_CONTEXT pChainContext, PCERT_CHAIN_POLICY_PARA pPolicyPara, PCERT_CHAIN_POLICY_STATUS pPolicyStatus) |
Functions |
| | WINE_DEFAULT_DEBUG_CHANNEL (crypt) |
| | WINE_DECLARE_DEBUG_CHANNEL (chain) |
| static void | CRYPT_AddStoresToCollection (HCERTSTORE collection, DWORD cStores, HCERTSTORE *stores) |
| static void | CRYPT_CloseStores (DWORD cStores, HCERTSTORE *stores) |
| static PCCERT_CONTEXT | CRYPT_FindCertInStore (HCERTSTORE store, PCCERT_CONTEXT cert) |
| static BOOL | CRYPT_CheckRestrictedRoot (HCERTSTORE store) |
| HCERTCHAINENGINE | CRYPT_CreateChainEngine (HCERTSTORE root, PCERT_CHAIN_ENGINE_CONFIG pConfig) |
| BOOL WINAPI | CertCreateCertificateChainEngine (PCERT_CHAIN_ENGINE_CONFIG pConfig, HCERTCHAINENGINE *phChainEngine) |
| VOID WINAPI | CertFreeCertificateChainEngine (HCERTCHAINENGINE hChainEngine) |
| static HCERTCHAINENGINE | CRYPT_GetDefaultChainEngine (void) |
| void | default_chain_engine_free (void) |
| static BOOL | CRYPT_IsCertificateSelfSigned (PCCERT_CONTEXT cert) |
| static void | CRYPT_FreeChainElement (PCERT_CHAIN_ELEMENT element) |
| static void | CRYPT_CheckSimpleChainForCycles (PCERT_SIMPLE_CHAIN chain) |
| static BOOL | CRYPT_IsSimpleChainCyclic (const CERT_SIMPLE_CHAIN *chain) |
| static void | CRYPT_CombineTrustStatus (CERT_TRUST_STATUS *chainStatus, const CERT_TRUST_STATUS *elementStatus) |
| static BOOL | CRYPT_AddCertToSimpleChain (const CertificateChainEngine *engine, PCERT_SIMPLE_CHAIN chain, PCCERT_CONTEXT cert, DWORD subjectInfoStatus) |
| static void | CRYPT_FreeSimpleChain (PCERT_SIMPLE_CHAIN chain) |
| static void | CRYPT_CheckTrustedStatus (HCERTSTORE hRoot, PCERT_CHAIN_ELEMENT rootElement) |
| static void | CRYPT_CheckRootCert (HCERTCHAINENGINE hRoot, PCERT_CHAIN_ELEMENT rootElement) |
| static BOOL | CRYPT_DecodeBasicConstraints (PCCERT_CONTEXT cert, CERT_BASIC_CONSTRAINTS2_INFO *constraints, BOOL defaultIfNotSpecified) |
| static BOOL | CRYPT_CheckBasicConstraintsForCA (PCertificateChainEngine engine, PCCERT_CONTEXT cert, CERT_BASIC_CONSTRAINTS2_INFO *chainConstraints, DWORD remainingCAs, BOOL isRoot, BOOL *pathLengthConstraintViolated) |
| static BOOL | domain_name_matches (LPCWSTR constraint, LPCWSTR name) |
| static BOOL | url_matches (LPCWSTR constraint, LPCWSTR name, DWORD *trustErrorStatus) |
| static BOOL | rfc822_name_matches (LPCWSTR constraint, LPCWSTR name, DWORD *trustErrorStatus) |
| static BOOL | dns_name_matches (LPCWSTR constraint, LPCWSTR name, DWORD *trustErrorStatus) |
| static BOOL | ip_address_matches (const CRYPT_DATA_BLOB *constraint, const CRYPT_DATA_BLOB *name, DWORD *trustErrorStatus) |
| static BOOL | directory_name_matches (const CERT_NAME_BLOB *constraint, const CERT_NAME_BLOB *name) |
| static BOOL | alt_name_matches (const CERT_ALT_NAME_ENTRY *name, const CERT_ALT_NAME_ENTRY *constraint, DWORD *trustErrorStatus, BOOL *present) |
| static BOOL | alt_name_matches_excluded_name (const CERT_ALT_NAME_ENTRY *name, const CERT_NAME_CONSTRAINTS_INFO *nameConstraints, DWORD *trustErrorStatus) |
| static BOOL | alt_name_matches_permitted_name (const CERT_ALT_NAME_ENTRY *name, const CERT_NAME_CONSTRAINTS_INFO *nameConstraints, DWORD *trustErrorStatus, BOOL *present) |
| static PCERT_EXTENSION | get_subject_alt_name_ext (const CERT_INFO *cert) |
| static void | compare_alt_name_with_constraints (const CERT_EXTENSION *altNameExt, const CERT_NAME_CONSTRAINTS_INFO *nameConstraints, DWORD *trustErrorStatus) |
| static BOOL | rfc822_attr_matches_excluded_name (const CERT_RDN_ATTR *attr, const CERT_NAME_CONSTRAINTS_INFO *nameConstraints, DWORD *trustErrorStatus) |
| static BOOL | rfc822_attr_matches_permitted_name (const CERT_RDN_ATTR *attr, const CERT_NAME_CONSTRAINTS_INFO *nameConstraints, DWORD *trustErrorStatus, BOOL *present) |
| static void | compare_subject_with_email_constraints (const CERT_NAME_BLOB *subjectName, const CERT_NAME_CONSTRAINTS_INFO *nameConstraints, DWORD *trustErrorStatus) |
| static BOOL | CRYPT_IsEmptyName (const CERT_NAME_BLOB *name) |
| static void | compare_subject_with_constraints (const CERT_NAME_BLOB *subjectName, const CERT_NAME_CONSTRAINTS_INFO *nameConstraints, DWORD *trustErrorStatus) |
| static void | CRYPT_CheckNameConstraints (const CERT_NAME_CONSTRAINTS_INFO *nameConstraints, const CERT_INFO *cert, DWORD *trustErrorStatus) |
| static CERT_NAME_CONSTRAINTS_INFO * | CRYPT_GetNameConstraints (CERT_INFO *cert) |
| static BOOL | CRYPT_IsValidNameConstraint (const CERT_NAME_CONSTRAINTS_INFO *info) |
| static void | CRYPT_CheckChainNameConstraints (PCERT_SIMPLE_CHAIN chain) |
| static CERT_POLICIES_INFO * | CRYPT_GetPolicies (PCCERT_CONTEXT cert) |
| static void | CRYPT_CheckPolicies (const CERT_POLICIES_INFO *policies, CERT_INFO *cert, DWORD *errorStatus) |
| static void | CRYPT_CheckChainPolicies (PCERT_SIMPLE_CHAIN chain) |
| static LPWSTR | name_value_to_str (const CERT_NAME_BLOB *name) |
| static void | dump_alt_name_entry (const CERT_ALT_NAME_ENTRY *entry) |
| static void | dump_alt_name (LPCSTR type, const CERT_EXTENSION *ext) |
| static void | dump_basic_constraints (const CERT_EXTENSION *ext) |
| static void | dump_basic_constraints2 (const CERT_EXTENSION *ext) |
| static void | dump_key_usage (const CERT_EXTENSION *ext) |
| static void | dump_general_subtree (const CERT_GENERAL_SUBTREE *subtree) |
| static void | dump_name_constraints (const CERT_EXTENSION *ext) |
| static void | dump_cert_policies (const CERT_EXTENSION *ext) |
| static void | dump_enhanced_key_usage (const CERT_EXTENSION *ext) |
| static void | dump_netscape_cert_type (const CERT_EXTENSION *ext) |
| static void | dump_extension (const CERT_EXTENSION *ext) |
| static LPCSTR | filetime_to_str (const FILETIME *time) |
| static void | dump_element (PCCERT_CONTEXT cert) |
| static BOOL | CRYPT_KeyUsageValid (PCertificateChainEngine engine, PCCERT_CONTEXT cert, BOOL isRoot, BOOL isCA, DWORD index) |
| static BOOL | CRYPT_CriticalExtensionsSupported (PCCERT_CONTEXT cert) |
| static BOOL | CRYPT_IsCertVersionValid (PCCERT_CONTEXT cert) |
| static void | CRYPT_CheckSimpleChain (PCertificateChainEngine engine, PCERT_SIMPLE_CHAIN chain, LPFILETIME time) |
| static PCCERT_CONTEXT | CRYPT_GetIssuer (HCERTSTORE store, PCCERT_CONTEXT subject, PCCERT_CONTEXT prevIssuer, DWORD *infoStatus) |
| static BOOL | CRYPT_BuildSimpleChain (const CertificateChainEngine *engine, HCERTSTORE world, PCERT_SIMPLE_CHAIN chain) |
| static LPCSTR | debugstr_filetime (LPFILETIME pTime) |
| static BOOL | CRYPT_GetSimpleChainForCert (PCertificateChainEngine engine, HCERTSTORE world, PCCERT_CONTEXT cert, LPFILETIME pTime, PCERT_SIMPLE_CHAIN *ppChain) |
| static BOOL | CRYPT_BuildCandidateChainFromCert (HCERTCHAINENGINE hChainEngine, PCCERT_CONTEXT cert, LPFILETIME pTime, HCERTSTORE hAdditionalStore, PCertificateChain *ppChain) |
| static PCERT_SIMPLE_CHAIN | CRYPT_CopySimpleChainToElement (const CERT_SIMPLE_CHAIN *chain, DWORD iElement) |
| static void | CRYPT_FreeLowerQualityChains (PCertificateChain chain) |
| static void | CRYPT_FreeChainContext (PCertificateChain chain) |
| static PCertificateChain | CRYPT_CopyChainToElement (PCertificateChain chain, DWORD iChain, DWORD iElement) |
| static PCertificateChain | CRYPT_BuildAlternateContextFromChain (HCERTCHAINENGINE hChainEngine, LPFILETIME pTime, HCERTSTORE hAdditionalStore, PCertificateChain chain) |
| static DWORD | CRYPT_ChainQuality (const CertificateChain *chain) |
| static PCertificateChain | CRYPT_ChooseHighestQualityChain (PCertificateChain chain) |
| static BOOL | CRYPT_AddAlternateChainToChain (PCertificateChain chain, const CertificateChain *alternate) |
| static PCERT_CHAIN_ELEMENT | CRYPT_FindIthElementInChain (const CERT_CHAIN_CONTEXT *chain, DWORD i) |
| static void | CRYPT_VerifyChainRevocation (PCERT_CHAIN_CONTEXT chain, LPFILETIME pTime, HCERTSTORE hAdditionalStore, const CERT_CHAIN_PARA *pChainPara, DWORD chainFlags) |
| static void | CRYPT_CheckUsages (PCERT_CHAIN_CONTEXT chain, const CERT_CHAIN_PARA *pChainPara) |
| static void | dump_usage_match (LPCSTR name, const CERT_USAGE_MATCH *usageMatch) |
| static void | dump_chain_para (const CERT_CHAIN_PARA *pChainPara) |
| BOOL WINAPI | CertGetCertificateChain (HCERTCHAINENGINE hChainEngine, PCCERT_CONTEXT pCertContext, LPFILETIME pTime, HCERTSTORE hAdditionalStore, PCERT_CHAIN_PARA pChainPara, DWORD dwFlags, LPVOID pvReserved, PCCERT_CHAIN_CONTEXT *ppChainContext) |
| PCCERT_CHAIN_CONTEXT WINAPI | CertDuplicateCertificateChain (PCCERT_CHAIN_CONTEXT pChainContext) |
| VOID WINAPI | CertFreeCertificateChain (PCCERT_CHAIN_CONTEXT pChainContext) |
| PCCERT_CHAIN_CONTEXT WINAPI | CertFindChainInStore (HCERTSTORE store, DWORD certEncodingType, DWORD findFlags, DWORD findType, const void *findPara, PCCERT_CHAIN_CONTEXT prevChainContext) |
| static void | find_element_with_error (PCCERT_CHAIN_CONTEXT chain, DWORD error, LONG *iChain, LONG *iElement) |
| static BOOL WINAPI | verify_base_policy (LPCSTR szPolicyOID, PCCERT_CHAIN_CONTEXT pChainContext, PCERT_CHAIN_POLICY_PARA pPolicyPara, PCERT_CHAIN_POLICY_STATUS pPolicyStatus) |
| static void | dump_authenticode_extra_chain_policy_para (AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA *extraPara) |
| static BOOL WINAPI | verify_authenticode_policy (LPCSTR szPolicyOID, PCCERT_CHAIN_CONTEXT pChainContext, PCERT_CHAIN_POLICY_PARA pPolicyPara, PCERT_CHAIN_POLICY_STATUS pPolicyStatus) |
| static BOOL WINAPI | verify_basic_constraints_policy (LPCSTR szPolicyOID, PCCERT_CHAIN_CONTEXT pChainContext, PCERT_CHAIN_POLICY_PARA pPolicyPara, PCERT_CHAIN_POLICY_STATUS pPolicyStatus) |
| static BOOL | match_dns_to_subject_alt_name (const CERT_EXTENSION *ext, LPCWSTR server_name) |
| static BOOL | find_matching_domain_component (const CERT_NAME_INFO *name, LPCWSTR component) |
| static BOOL | match_domain_component (LPCWSTR allowed_component, DWORD allowed_len, LPCWSTR server_component, DWORD server_len, BOOL allow_wildcards, BOOL *see_wildcard) |
| static BOOL | match_common_name (LPCWSTR server_name, const CERT_RDN_ATTR *nameAttr) |
| static BOOL | match_dns_to_subject_dn (PCCERT_CONTEXT cert, LPCWSTR server_name) |
| static void | dump_ssl_extra_chain_policy_para (HTTPSPolicyCallbackData *sslPara) |
| static BOOL WINAPI | verify_ssl_policy (LPCSTR szPolicyOID, PCCERT_CHAIN_CONTEXT pChainContext, PCERT_CHAIN_POLICY_PARA pPolicyPara, PCERT_CHAIN_POLICY_STATUS pPolicyStatus) |
| static BOOL WINAPI | verify_ms_root_policy (LPCSTR szPolicyOID, PCCERT_CHAIN_CONTEXT pChainContext, PCERT_CHAIN_POLICY_PARA pPolicyPara, PCERT_CHAIN_POLICY_STATUS pPolicyStatus) |
| static void | dump_policy_para (PCERT_CHAIN_POLICY_PARA para) |
| BOOL WINAPI | CertVerifyCertificateChainPolicy (LPCSTR szPolicyOID, PCCERT_CHAIN_CONTEXT pChainContext, PCERT_CHAIN_POLICY_PARA pPolicyPara, PCERT_CHAIN_POLICY_STATUS pPolicyStatus) |
Variables |
| static HCERTCHAINENGINE | CRYPT_defaultChainEngine |
| static const WCHAR | rootW [] = { 'R','o','o','t',0 } |
| static BYTE | msTestPubKey1 [] |
| static BYTE | msTestPubKey2 [] |
| static BYTE | msPubKey1 [] |
| static BYTE | msPubKey2 [] |
| static BYTE | msPubKey3 [] |