ssl-certinfo

SSL CertInfo displays expiration dates and other information for SSL certificates from a set of hosts.


Keywords
certificates, expiration, ssl
License
Apache-2.0
Install
pip install ssl-certinfo==1.1.2

Documentation

SSL CertInfo

build Travis Build Status
quality Codacy Grade Code Climate Maintainability Sonar Quality Gate Status Sonar Reliability Rating
coverage Coveralls Test Coverage CodeCov Code Climate Test Coverage
dependencies Updates Python 3 Requirements Status
package Version Python versions supported PyPI downloads

SSL CertInfo displays expiration dates and other information for SSL certificates from a set of hosts.

Features

  • Hosts to be scanned can be specified as a list of
    • hostnames (fully qualified domain names), e.g. github.com,
    • ip addresses, e.g. 1.1.1.1,
    • ip networks in CIDR format, e.g. 10.0.0.0/24,
    • ip ranges, e.g. 10.0.0.1-10.0.0.10,
    • or any combination of the previous.
  • Connect to target hosts via an http proxy (optional).
  • Results will be presented in various output formats: --table, --json, --yaml, --csv, --raw.

Installation

You can download and install the latest version of this software from the Python package index (PyPI) as follows:

$ pip install ssl_certinfo

Usage

When you install ssl_certinfo, a command-line script called ssl_certinfo is placed on your path. You can invoke ssl_certinfo directly via this script from the command line:

$ ssl_certinfo [...]

You can also invoke it through the Python interpreter from the command line:

$ python -m ssl_certinfo [...]

Help is available with the --help or -h switch:

$ ssl_certinfo -h
usage: ssl_certinfo [-h] [-V] [-v | -q] [-p PORT] [-t TIMEOUT] [-x [protocol://]host[:port]] [-T | -j | -y | -c | -r] [host [host ...]]

Collect information about SSL certificates from a set of hosts

positional arguments:
host                  Connect to HOST

optional arguments:
-h, --help            show this help message and exit
-V, --version         display version information and exit
-v, --verbose         verbose output (repeat for increased verbosity)
-q, --quiet           quiet output (show errors only)
-p PORT, --port PORT  TCP port to connnect to [0-65535]
-t TIMEOUT, --timeout TIMEOUT
                      Maximum time allowed for connection
-x [protocol://]host[:port], --proxy [protocol://]host[:port]
                      Use the specified proxy
-T, --table           Print results in table format
-j, --json            Print results in JSON format
-y, --yaml            Print results in YAML format
-c, --csv             Print results in CSV format
-r, --raw             Print results in raw format

Proxy

Optionally an http proxy can be specified which will be used to connect to the target hosts. The proxy can be specified using the -x, --proxy option or using one of the following environment variables:

  • http_proxy
  • HTTP_PROXY
  • https_proxy
  • HTTPS_PROXY

The environment variables can be specified in lower case or upper case. The lower case version has precedence.

The -x, --proxy option overrides existing environment variables that set the proxy to use. If there's an environment variable setting a proxy, you can use -x "" to override it.

Credits

This package was created with Cookiecutter and the stdtom/cookiecutter-pypackage-pipenv project template, based on audreyr/cookiecutter-pypackage.