Package cevast

CEVAST is a set of tools for collection and analysis of X.509 certificate datasets.

Cevast: Certificate Validation Statistics Tool

Python application

Cevast is an open source tool for collection, management and validation of SSL/TLS certificates.

Installation

Requirements

  • python3.6+
  • everything listed in requirements.txt

You can install Cevast as follows:

git clone <https://github.com/crocs-muni/cevast>
cd cevast
pip3 install --quiet -r requirements.txt
make install

or without make tool on the system, equivalently using python:

python3 setup.py install

Running above commands installs Cevast to your system as a runnable python package. You can then import and use cevast modules in your own applications or run cevast command in your terminal to invoke command line interface. Run either cevast --help or see the cli documentation for more information about using Cevast.

Depending on your OS, you might require root permissions to install Cevast to a system directory as by default. Without having the permissions, you can install Cevast in your home directory instead:

make user_install

or

python3 setup.py install --user

and correspondingly the requirements:

pip3 install --quiet -r requirements.txt --user

You can verify that Cevast is running correctly in your environment by executing unit tests as follows:

make test

Developing

As only a single developer is working on the project at the moment, only master (eh, sorry… main) branch is used.

Continuous Integration

CI is set up with use of GitHub Actions workflow. CI workflow runs unit tests and lint the code.

Testing

Tests are located in tests/ and can be executed by running unittest via make target:

make test

Code style

Code should follow coding conventions of standard PEP 8. Two linters are set up in CI build - Pylint and Flake8. There is a usefull make target for local linting (has the same set of settings as CI):

make check

Documentation

Documentation is generated by pdoc to docs/ directory. There is a usefull make target for that too:

make docs

To not forget, you might be interested to set up git pre-commit hook with following commands:

make docs
git add docs

Licensing

This project is licensed under MIT License.

Documentation

For more information about the tool and how to use it, please visit the project documentation pages.

Authors

The tool is developed at the Centre for Research on Cryptography and Security (CRoCS), at the Masaryk University in Brno, Czech Republic. * Radim Podola 2020 (developer) * Róbert Šuška 2021 (developer) * Martin Ukrop 2020-2021 (project lead)

Expand source code
"""
CEVAST is a set of tools for collection and analysis of X.509 certificate datasets.

.. include:: ../README.md
"""

__version__ = '1.1'
__author__ = 'Radim Podola'

Sub-modules

cevast.analysis

This package contains analytical functions and tools for quantitative analysis of certificate datasets.

cevast.certdb

CertDB is a database managing X.509 certificates.

cevast.cli

Entry point of CEVAST Command Line Interface.

cevast.dataset

This package is a collection of tools for working with certificate datasets.

cevast.utils

Utils is a collection providing various functions for Cevast needs.