cloudflare/cfssl

CFSSL: Cloudflare's PKI and TLS toolkit

Owned by Cloudflare

View on GitHub ↗Jump to charts ↓Open shareable report →

cloudflare/cfssl has 9k+ stars and 1k+ forks on GitHub, is written in Go, and was last pushed on Oct 6, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 42 minutes ago
Added to GitGenius on February 28th, 2026
Created on July 7th, 2014
Open Issues & Pull Requests: 341 (+0)
GitHub issues: Enabled
Number of forks: 1,155
Total Stargazers: 9,487 (+0)
Total Subscribers: 205 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 138.1 days
Mean response time: 897.8 days
90th percentile: 2706.2 days
Tracked items: 33

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 111
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 1,969 days
Stale 30+ days: 109
Stale 90+ days: 107

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • documentation (7)
  • bug (6)
  • enhancement (5)
  • tests (3)
  • build (2)
  • help wanted (2)
  • needs-more-testing (2)
  • question (2)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

CFSSL is Cloudflare's PKI and TLS toolkit, written in Go and designed to serve as a comprehensive swiss army knife for certificate operations. The project provides both a command-line utility and an HTTP API server for signing, verifying, and bundling TLS certificates. It requires Go 1.20 or later to build, with a note that certain Linux distributions, particularly RHEL-based systems, may have algorithms removed from their official Go repositories, necessitating manual Go installation for those users.

The toolkit consists of several integrated components. The main cfssl program is the canonical command-line utility that leverages the CFSSL packages for core functionality. The multirootca program extends capabilities by providing a certificate authority server capable of using multiple signing keys, addressing scenarios where single-key operations are insufficient. The mkbundle program constructs certificate pool bundles for root and intermediate certificates, while cfssljson processes JSON output from cfssl and multirootca to write certificates, keys, certificate signing requests, and bundles to disk.

The command-line interface supports diverse operations including signing certificate bundles, generating private keys and certificate requests, creating self-signed certificates, bundling certificates with configurable flavors for different use cases, and starting an API server. The signing functionality accepts certificate signing requests with customizable hostname overrides for SAN extensions. Certificate bundling offers three flavors: optimal for shortest chains with advanced cryptography, ubiquitous for broad browser and OS compatibility, and force for bundles matching input certificate content exactly. The API server listens on a configurable address and port, defaulting to 127.0.0.1:8888, and supports remote signature forwarding, OCSP responder configuration, and adjustable logging levels from DEBUG to CRITICAL.

The mkbundle utility validates certificates against CRL revocation lists and checks for expiration before combining them into single bundle files, with configurable worker counts for revocation checking. The cfssljson tool maps JSON keys to appropriately named output files, supporting both file output and standard output modes. Static binary builds are supported through resource embedding using the go.rice tool.

The repository shares contributors with microsoft/vscode, golang/go, and rust-lang/rust according to GitGenius cross-repository analysis.