{"id":24752049,"url":"https://github.com/inferno-framework/tls-test-kit","last_synced_at":"2025-10-26T07:40:45.033Z","repository":{"id":43394774,"uuid":"454887975","full_name":"inferno-framework/tls-test-kit","owner":"inferno-framework","description":"Inferno tests for server TLS support","archived":false,"fork":false,"pushed_at":"2025-07-25T16:25:34.000Z","size":63,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-14T01:42:47.406Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/inferno-framework.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":"NOTICE.md","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-02-02T18:19:22.000Z","updated_at":"2025-07-25T16:25:35.000Z","dependencies_parsed_at":"2023-12-28T22:25:52.021Z","dependency_job_id":"7a105b9e-a982-46c1-90d6-734f1c192865","html_url":"https://github.com/inferno-framework/tls-test-kit","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":"inferno-framework/inferno-template","purl":"pkg:github/inferno-framework/tls-test-kit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inferno-framework%2Ftls-test-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inferno-framework%2Ftls-test-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inferno-framework%2Ftls-test-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inferno-framework%2Ftls-test-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/inferno-framework","download_url":"https://codeload.github.com/inferno-framework/tls-test-kit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inferno-framework%2Ftls-test-kit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281074245,"owners_count":26439421,"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-10-26T02:00:06.575Z","response_time":61,"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":[],"created_at":"2025-01-28T10:34:37.278Z","updated_at":"2025-10-26T07:40:44.992Z","avatar_url":"https://github.com/inferno-framework.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TLS Test Kit\n\nThis is an [Inferno](https://inferno-framework.github.io/) Test Kit\nfor TLS connections.\n\n## Instructions\n\n- `./setup.sh`\n- `./run.sh`\n\n## How the test works\n\nThe `tls_version_test` allows you to check which versions of TLS are supported\non a server. You can configure minimum/maximum allowed values and specify\nrequired versions. The test attempts to make a TLS connection using each of the\nfollowing versions, and will fail if a connection can't be made with a required\nversion, or if a connection can be made with a forbidden version:\n\n- SSL 2.0\n- SSL 3.0\n- TLS 1.0\n- TLS 1.1\n- TLS 1.2\n- TLS 1.3\n\n## Using the TLS test in other test suites\n\nThe ruby `OpenSSL` library provides\n[constants for each TLS version](https://ruby-doc.org/stdlib-2.7.3/libdoc/openssl/rdoc/OpenSSL/SSL.html):\n```\nOpenSSL::SSL::SSL2_VERSION\nOpenSSL::SSL::SSL3_VERSION\nOpenSSL::SSL::TLS1_VERSION\nOpenSSL::SSL::TLS1_1_VERSION\nOpenSSL::SSL::TLS1_2_VERSION\nOpenSSL::SSL::TLS1_3_VERSION\n```\n\nUsing these constants, you can configure the permitted/forbidden/required\nversions. In the example below, only TLS 1.1 and 1.2 are permitted, and TLS 1.2\nis required. All other versions are forbidden. No minimum/maximum allowed\nversion is enforced if none are specified.\n\nThe `incorrectly_permitted_tls_version_message_type` option allows you to\ndetermine the behavior of the test when a server allows a TLS connection to be\nestablished using an unpermitted version. It defaults to `'error'`, which will\ncause the test to fail when a connection is established using an unpermitted\nversion. Values of `'info'` or `'warning'` will allow the test to still pass\nwith details in an info or warning message.\n\n```ruby\nrequire 'tls_test_kit'\n\ntest from: :tls_version_test do\n  config(\n    inputs: {\n      url: {\n        title: 'URL whose TLS connections will be tested'\n      }\n    },\n    options: {\n      minimum_allowed_version: OpenSSL::SSL::TLS1_1_VERSION,\n      maximum_allowed_version: OpenSSL::SSL::TLS1_2_VERSION,\n      required_versions: [OpenSSL::SSL::TLS1_2_VERSION],\n      incorrectly_permitted_tls_version_message_type: 'warning'\n    }\n  )\nend\n```\n\n## Disabling the TLS Test\n\nIf the environment variable `INFERNO_DISABLE_TLS_TEST` equals `\"true\"`\n(case-insensitive) then test always result in `omit`. To view this behavior you\ncan do `INFERNO_DISABLE_TLS_TEST=true inferno start` when starting Inferno.\nThis is intended for continuous integration testing.\n\n## License\n\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at\n```\nhttp://www.apache.org/licenses/LICENSE-2.0\n```\nUnless required by applicable law or agreed to in writing, software distributed\nunder the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\nCONDITIONS OF ANY KIND, either express or implied. See the License for the\nspecific language governing permissions and limitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finferno-framework%2Ftls-test-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finferno-framework%2Ftls-test-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finferno-framework%2Ftls-test-kit/lists"}