Giter VIP home page Giter VIP logo

certlint's Introduction

certlint

X.509 certificate linter

certlint is currently at version 0.9.0. It does not yet build as a gem.

For now, execute by running:

./starter.sh

Required gems

  • public_suffix
  • simpleidn
  • pg (UNIX systems require the libpq-dev package to be installed)

If using less than Ruby 2.3, you also need the unf gem.

Building the asn1validator extension

certlint requires that the asn1validator extension be available.

See ext/README for instructions on building it.

Setting up the database

A PostgreSQL instance running on the default port is required. To create the required table and index, run ./initialize_db.sh . The created table is of the form (id, cert_hash, cert) where the id is a serial, the cert_hash is the identifier of the certificate (e.g. SHA-256 over the DER certificate) and cert is the DER encoded certificate stored as a bytea blob.

Output

Messages will be output one per line. Each line will start with a single capital letter, a colon, and a space. The letters indicate the type of message:

  • B: Bug. Your certificate has a feature not handled by certlint.
  • I: Information. These are purely informational; no action is needed.
  • N: Notice. These are items known to cause issues with one or more implementations of certificate processing but are not errors according to the standard.
  • W: Warning. These are issues where a standard recommends differently but the standard uses terms such as "SHOULD" or "MAY".
  • E: Error. These are issues where the certificate is not compliant with the standard.
  • F: Fatal Error. These errors are fatal to the checks and prevent most further checks from being executed. These are extremely bad errors.

Thanks

Certlint was written by Peter Bowen ([email protected]).

Contributors include Matt Palmer, Rob Stradling, David Keeler, and Karsten Weiss.

certlint's People

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

zzylydx

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.