Skip to main content

A comprehensive cryptographic settings analyzer

Project description

CryptoLyzer is a fast, flexible, and comprehensive server cryptographic protocol (TLS, SSL, SSH, DNSSEC) and related setting (HTTP headers, DNS records) analyzer and fingerprint (JA3, HASSH tag) generator with application programming (API) and command line (CLI) interface.

However the API can provide the most complete functionality, the CLI also strives to be as comprehensive as possible. To do that CLI provides three output formats. The first one for human analysis where the cryptographic algorithm names and the values of key sizes and other security-related settings are colorized according to their security strength using the well-known traffic light rating system. The other two output formats (Markdown, JSON) are machine-readable, however the Markdown format even human-readable and even suitable for generating documentation in different formats (e.g. DOCX, PDF, …).

The strength of CryptoLyzer compared to its competitors is that it contains a custom implementation of cryptographic protocols (CryptoParser), which are as small as absolutely necessary for the analysis, but as most comprehensive algorithm identifier sets of the cryptographic protocols (CryptoDataHub) as possible. The combination of the two properly makes it possible to check the support of rarely used, deprecated, non-standard, or experimental algorithms and methods that are not yet or have never been supported by the most popular cryptographic algorithms. This way of working leads to the fact that CryptoLyzer can recognize more TLS cipher suites than listed in total on Ciphersuite Info.

Usage

Pip

pip install cryptolyzer

cryptolyze tls all www.example.com
cryptolyze tls1_2 ciphers www.example.com
cryptolyze ssh2 ciphers www.example.com
cryptolyze http headers www.example.com
cryptolyze dns dnssec example.com

Docker

docker run --rm coroner/cryptolyzer tls all www.example.com
docker run --rm coroner/cryptolyzer tls1_2 ciphers www.example.com
docker run --rm coroner/cryptolyzer ssh2 ciphers www.example.com
docker run --rm coroner/cryptolyzer http headers www.example.com
docker run --rm coroner/cryptolyzer dns dnssec example.com
docker run -ti --rm -p 127.0.0.1:4433:4433 coroner/cryptolyzer ja3 generate 127.0.0.1:4433
openssl s_client -connect 127.0.0.1:4433

docker run -ti --rm -p 127.0.0.1:2121:2121 coroner/cryptolyzer ja3 generate ftp://127.0.0.1:2121
openssl s_client -starttls ftp -connect 127.0.0.1:2121
docker run -ti --rm -p 127.0.0.1:2222:4433 coroner/cryptolyzer hassh generate 127.0.0.1:2222
openssl s_client -connect 127.0.0.1:2222

Support

Python implementation

  • CPython (2.7, 3.3+)

  • PyPy (2.7, 3.5+)

Operating systems

  • Linux

  • macOS

  • Windows

Social Media

Documentation

Detailed documentation is available on the project’s Read the Docs site.

License

The code is available under the terms of Mozilla Public License Version 2.0 (MPL 2.0).

A non-comprehensive, but straightforward description of MPL 2.0 can be found at Choose an open source license website.

Credits

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cryptolyzer-0.12.5.tar.gz (96.9 kB view details)

Uploaded Source

Built Distribution

CryptoLyzer-0.12.5-py3-none-any.whl (109.7 kB view details)

Uploaded Python 3

File details

Details for the file cryptolyzer-0.12.5.tar.gz.

File metadata

  • Download URL: cryptolyzer-0.12.5.tar.gz
  • Upload date:
  • Size: 96.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for cryptolyzer-0.12.5.tar.gz
Algorithm Hash digest
SHA256 41cd4be05d94fe7937eecfe621ad9880966a0b67643ec07f4a2f38484979efa4
MD5 193b1c4ce6f669eaf97cce83e4d613cc
BLAKE2b-256 b6aae8a08a2bbfcf1430171c3b5b3fe250078c183c5680a92326cb732d49ac3c

See more details on using hashes here.

File details

Details for the file CryptoLyzer-0.12.5-py3-none-any.whl.

File metadata

  • Download URL: CryptoLyzer-0.12.5-py3-none-any.whl
  • Upload date:
  • Size: 109.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for CryptoLyzer-0.12.5-py3-none-any.whl
Algorithm Hash digest
SHA256 96f6fd5f2e2189f274e014e4362829ec3914fdb9fad6f1dc61b46620ab7ce461
MD5 7fc818cda7fc924c1ca2da1068793903
BLAKE2b-256 c0e25009a64dc321b7b5857cea279446437f6b0987bc0d66011202c840b64d14

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page