MCPcopy Index your code
hub / github.com/cloudflare/cfssl_trust

github.com/cloudflare/cfssl_trust @trust-store-2026.7.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release trust-store-2026.7.0 ↗ · + Follow
150 symbols 478 edges 29 files 69 documented · 46%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

CFSSL TRUST

This is the trust stores Cloudflare uses for CFSSL. It also includes the sources of the trust chain that can be built using the mkbundle utility from CFSSL.

Files:

.
├── ca-bundle.crt
├── ca-bundle.crt.metadata
├── certdata
│   └── trusted_roots
│       ├── froyo.pem
│       ├── gingerbread.pem
│       ├── honeycomb.pem
│       ├── ics.pem
│       ├── ios.pem
│       ├── kitkat.pem
│       ├── nss.pem
│       ├── osx.pem
│       ├── ubuntu.pem
│       └── windows.pem
├── int-bundle.crt
├── README.md

The ca-bundle.crt file contains the trusted roots. CFSSL uses the ca-bundle.crt.metadata when building bundles to assist in building bundles that need to verified in the maximum number of trust stores on different systems. The int-bundle.crt file contains a number of known intermediates; these are preloaded for performance reasons and occasionally updated as CFSSL finds more intermediates. If an intermediate isn't in this bundle, but can be found through following the AIA CA Issuers fields, it will be downloaded and eventually merged into here.

The trusted_roots directory contains the root stores from a number of systems. Currently, we have trust stores from

  • NSS (Firefox, Chrome)
  • OS X
  • Windows
  • Android 2.2 (Frozen Yogurt)
  • Android 2.3 (Gingerbread)
  • Android 3.x (Honeycomb)
  • Android 4.0 (Ice Cream Sandwich)
  • Android 4.4 (KitKat)

Release

Prerequisites

$ go install git.wntrmute.dev/kyle/goutils/cmd/certdump@v1.7.7
$ go install github.com/cloudflare/cfssl/cmd/...@latest
$ go install github.com/cloudflare/cfssl_trust/...@latest

Build

The final bundles (i.e. ca-bundle.crt and int-bundle.crt) may be built as follows:

$ ./release.sh

This command automatically removes expiring certificates, and pushes the changes to a new release branch.

The content of 'ca-bundle.crt.metadata' is crucial to building ubiquitous bundle. Feel free to tune its content. Make sure the paths to individual trust root stores are correctly specified.

Adding new roots or intermediates

New roots and intermediates can be added using the same command, just by providing values for the NEW_ROOTS and NEW_INTERMEDIATES variables:

$ NEW_ROOTS="/path/to/root1 /path/to/root2" NEW_INTERMEDIATES="/path/to/int1 /path/to/int22" ./release.sh

Check for expiring roots or intermediates

To verify that an intermediate or root certificate is expiring or revoked without creating a release, the expiring command can be used from the project root directory.

To check for expiring or revoked intermediate certificates in the database provided in this repo:

$ cfssl-trust -d ./cert.db -b int expiring

To check for expiring or revoked root certificates:

$ cfssl-trust -d ./cert.db -b ca expiring

./cert.db which is specified as the database using the -d flag, contains both intermediate and root certificates. Any certificate database can be used here in place of ./cert.db

These calls to the expiring command will provide an output showing if there are any expiring or revoked certificates.

...
1 certificates expiring.
0 certificates revoked.

Extension points exported contracts — how you extend this code

Table (Interface)
Table provides an interface for mapping a struct to a table in the database. [5 implementers]
model/certdb/certificate.go
CertificateFilter (FuncType)
A CertificateFilter is a predicate that returns true if the certificate matches some predicate.
info/search.go

Core symbols most depended-on inside this repo

String
called by 30
release/release.go
Ensure
called by 25
model/certdb/certificate.go
NewCertificate
called by 14
model/certdb/certificate.go
NewRelease
called by 11
model/certdb/certificate.go
Select
called by 8
model/certdb/certificate.go
Set
called by 8
cmd/trust-monitor/metrics.go
NameToString
called by 8
common/subject.go
table
called by 7
model/certdb/certificate.go

Shape

Function 108
Method 29
Struct 11
FuncType 1
Interface 1

Languages

Go100%

Modules by API surface

model/certdb/certificate.go40 symbols
model/certdb/certificate_test.go15 symbols
info/search.go11 symbols
cmd/trust-monitor/metrics.go9 symbols
cmd/trust-monitor/monitor.go8 symbols
release/release.go7 symbols
info/info.go6 symbols
release/release_test.go5 symbols
cli/root.go5 symbols
cli/release.go5 symbols
cmd/trust-monitor/scanner.go4 symbols
cli/expiring.go4 symbols

For agents

$ claude mcp add cfssl_trust \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page