Skip to content

crtsh/ctlint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ctlint

CT compliance linter

Intended uses

  • Certification Authorities: Pre-issuance linting of precertificates and certificates.

  • Interested Parties: Post-issuance conformance checking.

Features

  • Determines, using crtsh/ctloglists, which CT logs are currently or once approved for each CT Policy.

  • Audits certificates against the requirements of each applicable CT Policy, to ensure that embedded SCT lists contain a sufficient quantity and variety of SCTs from approved CT logs:

  • Identifies precertificate issuance from a Precertificate Signing CA beyond the sunset date in the TLS BRs.

  • Checks that certificates expire within the temporal intervals of the logs that supplied the precertificate SCTs embedded in those certificates.

  • Verifies signatures on precertificate SCTs embedded in certificates, using bundled CCADB data to determine each SCT's issuer_key_hash field.

  • Validates syntax and usage of RFC6962 X.509 extensions appearing in certificates and precertificates.

Why you need ctlint

Here are some real-world examples of CT-related mishaps that ctlint can detect:

Caveats

  • ctlint can only audit CT Policy compliance of SCTs embedded in certificates that have not yet expired, because the various log lists do not preserve details of historic log state transitions that may be relevant.

About

CT compliance linter

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •