Chrome Release Bot (LUCI) 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
..
internal 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
pki 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
BUILD.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
DIR_METADATA 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
OWNERS 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
README.md 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
asn1_util.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
asn1_util.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
caching_cert_verifier.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
caching_cert_verifier.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
caching_cert_verifier_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_and_ct_verifier.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_and_ct_verifier.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_and_ct_verifier_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_database.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_database.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_database_mac.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_net_fetcher.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_status_flags.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_status_flags.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_status_flags_list.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_type.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_verifier.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_verifier.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_verifier_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_verify_proc.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_verify_proc.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_verify_proc_android.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_verify_proc_android.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_verify_proc_android_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_verify_proc_blocklist.inc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_verify_proc_builtin.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_verify_proc_builtin.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_verify_proc_builtin_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_verify_proc_ios.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_verify_proc_ios.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_verify_proc_mac.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_verify_proc_mac.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_verify_proc_mac_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_verify_proc_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_verify_proc_win.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_verify_proc_win.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_verify_proc_win_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_verify_result.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
cert_verify_result.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
client_cert_verifier.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
coalescing_cert_verifier.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
coalescing_cert_verifier.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
coalescing_cert_verifier_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
crl_set.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
crl_set.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
crl_set_fuzzer.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
crl_set_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ct_log_response_parser.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ct_log_response_parser.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ct_log_response_parser_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ct_log_verifier.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ct_log_verifier.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ct_log_verifier_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ct_log_verifier_util.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ct_log_verifier_util.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ct_objects_extractor.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ct_objects_extractor.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ct_objects_extractor_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ct_policy_enforcer.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ct_policy_enforcer.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ct_policy_status.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ct_sct_to_string.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ct_sct_to_string.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ct_serialization.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ct_serialization.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ct_serialization_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ct_signed_certificate_timestamp_log_param.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ct_signed_certificate_timestamp_log_param.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ct_verifier.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
decode_signed_certificate_timestamp_fuzzer.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
do_nothing_ct_verifier.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
do_nothing_ct_verifier.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ev_root_ca_metadata.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ev_root_ca_metadata.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ev_root_ca_metadata_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
known_roots.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
known_roots.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
known_roots_mac.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
known_roots_mac.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
known_roots_nss.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
known_roots_nss.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
known_roots_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
known_roots_win.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
known_roots_win.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
merkle_audit_proof.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
merkle_audit_proof.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
merkle_audit_proof_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
merkle_consistency_proof.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
merkle_consistency_proof.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
merkle_tree_leaf.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
merkle_tree_leaf.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
merkle_tree_leaf_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
mock_cert_net_fetcher.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
mock_cert_net_fetcher.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
mock_cert_verifier.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
mock_cert_verifier.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
mock_client_cert_verifier.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
mock_client_cert_verifier.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
multi_log_ct_verifier.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
multi_log_ct_verifier.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
multi_log_ct_verifier_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
multi_threaded_cert_verifier.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
multi_threaded_cert_verifier.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
multi_threaded_cert_verifier_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
nss_cert_database.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
nss_cert_database.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
nss_cert_database_chromeos.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
nss_cert_database_chromeos.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
nss_cert_database_chromeos_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
nss_cert_database_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
nss_profile_filter_chromeos.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
nss_profile_filter_chromeos.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
nss_profile_filter_chromeos_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ocsp_revocation_status.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ocsp_verify_result.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ocsp_verify_result.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
pem.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
pem.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
pem_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
root_cert_list_generated.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
root_store.proto 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
scoped_nss_types.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
sct_auditing_delegate.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
sct_status_flags.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
sct_status_flags.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
signed_certificate_timestamp.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
signed_certificate_timestamp.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
signed_certificate_timestamp_and_status.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
signed_certificate_timestamp_and_status.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
signed_certificate_timestamp_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
signed_tree_head.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
signed_tree_head.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
symantec_certs.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
symantec_certs.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
symantec_certs_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
test_keychain_search_list_mac.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
test_keychain_search_list_mac.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
test_root_certs.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
test_root_certs.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
test_root_certs_android.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
test_root_certs_builtin.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
test_root_certs_mac.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
test_root_certs_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
test_root_certs_win.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
trial_comparison_cert_verifier.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
trial_comparison_cert_verifier.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
trial_comparison_cert_verifier_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
trial_comparison_cert_verifier_util.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
trial_comparison_cert_verifier_util.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
x509_cert_types.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
x509_cert_types.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
x509_cert_types_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
x509_certificate.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
x509_certificate.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
x509_certificate_net_log_param.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
x509_certificate_net_log_param.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
x509_certificate_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
x509_util.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
x509_util.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
x509_util_android.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
x509_util_apple.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
x509_util_apple.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
x509_util_apple_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
x509_util_mac.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
x509_util_mac.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
x509_util_nss.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
x509_util_nss.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
x509_util_nss_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
x509_util_unittest.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
x509_util_win.cc 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
x509_util_win.h 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago

README.md

Certificate verification

This directory contains the core code for verifying server certificates. Limited support is also included for verifying client certificates, but only to the extent they chain to a server-supplied set of issuers.

Server certificate verification emphasizes the standards/policy for publicly trusted certificates:

  • Basic X.509 digital certificates
  • RFC 5280
  • CA/Browser Forum Baseline Requirements
  • CRLSets
  • Certificate Transparency

The core logic of certificate verification is implemented synchronously, as it may need to integrate with synchronous OS-provided APIs. This synchronous implementation is performed through the CertVerifyProc interface, which is a thread-agnostic/thread-safe interface that can be used to verify certificates synchronously on arbitrary worker threads.

The top-level interface for verifying server certificates is the asynchronous CertVerifier.

MultiThreadedCertVerifier is an implementation of CertVerifier that executes CertVerifyProc synchronously on worker threads.

CertVerifyProcBuiltin is a cross-platform implementation which implements path building internally. It only relies on platform integrations for obtaining the trusted root certificates.

The other CertVerifyProc implementations are for integrating with the underlying platform’s certificate verification library. For example, CertVerifyProcWin delegates certificate verification to Windows’ CryptoAPI.

Browser-specific policy checks are applied even when using the platform’s certificate verifier. For instance, a certificate chain the OS deemed valid could ultimately be rejected by CertVerifyProc since it independently checks the chain for CRLSet revocation, use of weak keys, Baseline Requirements validity, name constraints, weak signature algorithms, and more.