{"id":33140016,"url":"https://github.com/c0r0n3r/cryptolyzer","last_synced_at":"2025-11-20T05:02:46.694Z","repository":{"id":142324743,"uuid":"175872536","full_name":"c0r0n3r/cryptolyzer","owner":"c0r0n3r","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 Python API and CLI. (read-only clone of the original GitLab project)","archived":false,"fork":false,"pushed_at":"2025-01-11T19:44:59.000Z","size":1650,"stargazers_count":27,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-11T20:30:34.037Z","etag":null,"topics":["certificate-transparency","content-security-policy","dnssec","http-header-check","http-scan","mixed-content","openvpn","python","scan-tool","scanning-tool","security","security-audit","security-tools","ssh-scanner","ssl-scanner","subresource-integrity","tls-scan","tls-scanning-library","vulnerability-scanners"],"latest_commit_sha":null,"homepage":"https://gitlab.com/coroner/cryptolyzer/","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/c0r0n3r.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-15T18:30:48.000Z","updated_at":"2025-01-11T19:45:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"5effd792-b180-445e-8403-c15c9566d139","html_url":"https://github.com/c0r0n3r/cryptolyzer","commit_stats":null,"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"purl":"pkg:github/c0r0n3r/cryptolyzer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c0r0n3r%2Fcryptolyzer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c0r0n3r%2Fcryptolyzer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c0r0n3r%2Fcryptolyzer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c0r0n3r%2Fcryptolyzer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/c0r0n3r","download_url":"https://codeload.github.com/c0r0n3r/cryptolyzer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c0r0n3r%2Fcryptolyzer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285375203,"owners_count":27161007,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-20T02:00:05.334Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["certificate-transparency","content-security-policy","dnssec","http-header-check","http-scan","mixed-content","openvpn","python","scan-tool","scanning-tool","security","security-audit","security-tools","ssh-scanner","ssl-scanner","subresource-integrity","tls-scan","tls-scanning-library","vulnerability-scanners"],"created_at":"2025-11-15T12:00:37.337Z","updated_at":"2025-11-20T05:02:46.686Z","avatar_url":"https://github.com/c0r0n3r.png","language":"Python","funding_links":[],"categories":["Tools to check security hardening"],"sub_categories":["TLS/SSL"],"readme":".. image:: https://gitlab.com/coroner/cryptolyzer/badges/master/pipeline.svg\n    :alt:  Pipeline\n    :target: https://gitlab.com/coroner/cryptolyzer/-/pipelines/master/latest\n.. image:: https://coveralls.io/repos/gitlab/coroner/cryptolyzer/badge.svg?branch=master\n    :alt:  Test Coverage\n    :target: https://coveralls.io/gitlab/coroner/cryptolyzer/\n.. image:: https://readthedocs.org/projects/cryptolyzer/badge/?version=latest\n    :alt:  Documentation\n    :target: https://cryptolyzer.readthedocs.io\n\n**CryptoLyzer** is a fast, flexible, and comprehensive server cryptographic protocol\n(`TLS \u003chttps://en.wikipedia.org/wiki/Transport_Layer_Security\u003e`__,\n`SSL \u003chttps://en.wikipedia.org/wiki/Transport_Layer_Security#SSL_1.0,_2.0,_and_3.0\u003e`__,\n`SSH \u003chttps://en.wikipedia.org/wiki/Secure_Shell\u003e`__,\n`DNSSEC \u003chttps://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions\u003e`__) and related setting\n(`HTTP headers \u003chttps://en.wikipedia.org/wiki/List_of_HTTP_header_fields\u003e`__,\n`DNS records \u003chttps://en.wikipedia.org/wiki/List_of_DNS_record_types\u003e`__) analyzer and fingerprint\n(`JA3 \u003chttps://engineering.salesforce.com/tls-fingerprinting-with-ja3-and-ja3s-247362855967\u003e`__,\n`HASSH \u003chttps://engineering.salesforce.com/open-sourcing-hassh-abed3ae5044c/\u003e`__ tag) generator with\n`application programming \u003chttps://en.wikipedia.org/wiki/API\u003e`__ (API) and\n`command line \u003chttps://en.wikipedia.org/wiki/Command-line_interface\u003e`__ (CLI) interface.\n\nHowever the API can provide the most complete functionality, the CLI also strives to be as comprehensive as possible. To\ndo that CLI provides three output formats. The first one for human analysis where the cryptographic algorithm names and\nthe values of key sizes and other security-related settings are colorized according to their security strength using the\nwell-known `traffic light rating system \u003chttps://en.wikipedia.org/wiki/Traffic_light_rating_system\u003e`__. The other two\noutput formats (:ref:`Output Formats / Markdown`, :ref:`Output Formats / JSON`) are machine-readable, however the\nMarkdown format even human-readable and even suitable for generating documentation in different formats (e.g. DOCX, PDF,\n...).\n\n.. only:: html\n\n  .. raw:: html\n\n    \u003cscript async id=\"asciicast-618789\" src=\"https://asciinema.org/a/618789.js\"\u003e\u003c/script\u003e\n\nThe strength of CryptoLyzer compared to its competitors is that it contains a custom implementation of cryptographic\nprotocols (`CryptoParser \u003chttps://cryptoparser.readthedocs.io\u003e`__), which are as small as absolutely necessary for the\nanalysis, but as most comprehensive algorithm identifier sets of the cryptographic protocols\n(`CryptoDataHub \u003chttps://cryptodatahub.readthedocs.io\u003e`__) as possible. The combination of the two properly makes it\npossible to check the support of rarely used, deprecated, non-standard, or experimental algorithms and methods that are\nnot yet or have never been supported by the most popular cryptographic algorithms. This way of working leads to the fact\nthat CryptoLyzer can recognize more TLS cipher suites than listed in total on\n`Ciphersuite Info \u003chttps://ciphersuite.info/cs/\u003e`__.\n\n-----\nUsage\n-----\n\nPip\n===\n\n.. code:: shell\n\n   pip install cryptolyzer\n\n   cryptolyze tls all www.example.com\n   cryptolyze tls1_2 ciphers www.example.com\n   cryptolyze ssh2 ciphers www.example.com\n   cryptolyze http headers www.example.com\n   cryptolyze dns dnssec example.com\n\nDocker\n======\n\n.. code:: shell\n\n   docker run --rm coroner/cryptolyzer tls all www.example.com\n   docker run --rm coroner/cryptolyzer tls1_2 ciphers www.example.com\n   docker run --rm coroner/cryptolyzer ssh2 ciphers www.example.com\n   docker run --rm coroner/cryptolyzer http headers www.example.com\n   docker run --rm coroner/cryptolyzer dns dnssec example.com\n\n.. code:: shell\n\n   docker run -ti --rm -p 127.0.0.1:4433:4433 coroner/cryptolyzer ja3 generate 127.0.0.1:4433\n   openssl s_client -connect 127.0.0.1:4433\n\n   docker run -ti --rm -p 127.0.0.1:2121:2121 coroner/cryptolyzer ja3 generate ftp://127.0.0.1:2121\n   openssl s_client -starttls ftp -connect 127.0.0.1:2121\n\n.. code:: shell\n\n   docker run -ti --rm -p 127.0.0.1:2222:4433 coroner/cryptolyzer hassh generate 127.0.0.1:2222\n   openssl s_client -connect 127.0.0.1:2222\n\n-------\nSupport\n-------\n\nPython implementation\n=====================\n\n-  CPython (3.9+)\n-  PyPy (3.9+)\n\nOperating systems\n=================\n\n-  Linux\n-  macOS\n-  Windows\n\n------------\nSocial Media\n------------\n\n-  `Twitter \u003chttps://twitter.com/CryptoLyzer\u003e`__\n-  `Facebook \u003chttps://www.facebook.com/cryptolyzer\u003e`__\n\n-------------\nDocumentation\n-------------\n\nDetailed `documentation \u003chttps://cryptolyzer.readthedocs.io\u003e`__ is available on the project's\n`Read the Docs \u003chttps://readthedocs.com\u003e`__ site.\n\n-------\nLicense\n-------\n\nThe `code \u003chttps://gitlab.com/coroner/cryptolyzer\u003e`__ is available under the terms of\n`Mozilla Public License Version 2.0 \u003chttps://www.mozilla.org/en-US/MPL/2.0/\u003e`__ (MPL 2.0).\n\nA non-comprehensive, but straightforward description of MPL 2.0 can be found at\n`Choose an open source license \u003chttps://choosealicense.com/licenses#mpl-2.0\u003e`__ website.\n\n-------\nCredits\n-------\n\n-  `NLnet Foundation \u003chttps://nlnet.nl\u003e`__ and `NGI Assure \u003chttps://www.assure.ngi.eu\u003e`__, supports the project part of\n   the `Next Generation Internet \u003chttps://ngi.eu\u003e`__ initiative.\n-  Icons made by `Freepik \u003chttps://www.flaticon.com/authors/freepik\u003e`__ from `Flaticon \u003chttps://www.flaticon.com/\u003e`__.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fc0r0n3r%2Fcryptolyzer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fc0r0n3r%2Fcryptolyzer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fc0r0n3r%2Fcryptolyzer/lists"}