Skip to content
/ certguard Public

a Terminal User Interface for inspecting x.509 certificates, certificate revocation lists and perform OCSP requests

License

Notifications You must be signed in to change notification settings

pimg/certguard

Repository files navigation

CertGuard

GoReportCard example CI tests

A Terminal User Interface (TUI) for inspecting Certificate Revocation Lists (CRL's)

With CertGuard it is currently possible to:

  • download & save new CRL files to the local storage
  • import locally downloaded CRL files to the local storage
  • browse stored CRL's
  • list entries in a CRL file
  • inspect entries in a CRL file
  • copy/paste certificate and certificate chains in PEM format
  • import certificate and certificate chains in PEM format
  • view certificates and certificate chains
  • perform OCSP requests from a certificate chain

demo

File locations

CertGuard uses two file locations:

  • ~/.cache/certguard location of the database/storage file
  • ~/.cache/certguard/import import directory for importing CRLs from file
  • ~/.local/share/certguard for the debug.log file

Themes

CertGuard has predefined themes that can be switched using the --theme argument. Currently supported themes are:

  1. Dracula (Default)
  2. Gruvbox

Dracula

dracula-home.png

Dracula home screen dracula-cert-view.png

Dracula certificate view

Gruvbox

gruvbox-home.png

Gruvbox home screen gruvbox-cert-view.png

Gruvbox certificate view

States

CertGuard TUI is built with BubbleTea using the Elm architecture. Different screens are built using different states. Below is a statemachine depicting the state model of CertGuard:

states

Storage

All information on CRL's and revoked certificates are stored on a local SQLite database. The Database schema used for Certguard only stores public information: database schema

Development

A MAKE file has been included for convenience:

  • make run builds and run the certguard application in debug mode
  • make test runs all unit tests
  • make lint runs the linter
  • make build builds the binary file cg
  • make sqlc generates the Go source files from SQL files using sqlc
  • make gif generates the gif based on the cassette.tape using vhs

Since a TUI application cannot log to stdout a debug.log file is used for debug logging. It is located at: ~/.local/share/certguard/debug.log

About

a Terminal User Interface for inspecting x.509 certificates, certificate revocation lists and perform OCSP requests

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published