File List
25 | 40 | 41 |-
45 |
46 |
47 |
- 48 | 49 | 50 | 51 | 52 |
- 53 | 54 | 55 | 56 | 57 | 58 |
├── docs
├── .nojekyll
├── yard
│ ├── css
│ │ ├── common.css
│ │ └── full_list.css
│ ├── frames.html
│ ├── file_list.html
│ ├── top-level-namespace.html
│ ├── file.LICENSE.html
│ ├── TLSmap.html
│ ├── class_list.html
│ ├── index.html
│ ├── file.README.html
│ ├── _index.html
│ ├── js
│ │ ├── full_list.js
│ │ └── app.js
│ ├── TLSmap
│ │ ├── Utils.html
│ │ ├── CLI.html
│ │ └── App
│ │ │ └── Extractor
│ │ │ └── Sslyze.html
│ └── method_list.html
├── _media
│ └── logo.png
├── pages
│ ├── demo.md
│ ├── limitations.md
│ ├── publishing.md
│ ├── documentation.md
│ ├── install.md
│ ├── quick-start.md
│ ├── usage.md
│ └── examples.md
├── _navbar.md
├── _coverpage.md
├── _sidebar.md
├── about.md
├── index.html
├── vendor
│ ├── prismjs
│ │ └── components
│ │ │ └── prism-ruby.min.js
│ ├── plugins
│ │ └── search.min.js
│ └── themes
│ │ └── dark.css
└── CHANGELOG.md
├── .tool-versions
├── .yardopts
├── lib
├── tls_map
│ ├── version.rb
│ ├── nss.rb
│ ├── gnutls.rb
│ ├── utils.rb
│ ├── iana.rb
│ ├── output.rb
│ ├── cli.rb
│ ├── openssl.rb
│ ├── ciphersuiteinfo.rb
│ └── extractor.rb
└── tls_map.rb
├── bin
├── tls-map_console
└── tls-map
├── test
├── file_sample
│ ├── bulk_IANA.txt
│ └── sslscan2.xml
├── test_cli.rb
├── test_extractor.rb
├── test_extended.rb
└── test_app.rb
├── Rakefile
├── .rubocop.yml
├── .editorconfig
├── LICENSE
├── Gemfile
├── .github
└── workflows
│ └── ruby.yml
├── .gitignore
├── Gemfile.lock
├── tls-map.gemspec
└── README.md
/docs/.nojekyll:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.tool-versions:
--------------------------------------------------------------------------------
1 | ruby 3.0.1
2 | nodejs 14.15.1
3 |
--------------------------------------------------------------------------------
/docs/yard/css/common.css:
--------------------------------------------------------------------------------
1 | /* Override this file with custom rules */
--------------------------------------------------------------------------------
/docs/_media/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sec-it/tls-map/HEAD/docs/_media/logo.png
--------------------------------------------------------------------------------
/.yardopts:
--------------------------------------------------------------------------------
1 | --output-dir docs/yard
2 | --markup=markdown
3 | -
4 | --main README.md
5 | LICENSE
6 |
--------------------------------------------------------------------------------
/lib/tls_map/version.rb:
--------------------------------------------------------------------------------
1 | # frozen_string_literal: true
2 |
3 | module TLSmap
4 | VERSION = '1.3.2'
5 | end
6 |
--------------------------------------------------------------------------------
/docs/pages/demo.md:
--------------------------------------------------------------------------------
1 | # Demonstration
2 |
3 | [](https://asciinema.org/a/410877)
4 |
--------------------------------------------------------------------------------
/docs/_navbar.md:
--------------------------------------------------------------------------------
1 | - [Home](/)
2 | - [Source](https://github.com/sec-it/tls-map)
3 | - [Library doc](https://sec-it.github.io/tls-map/yard/)
4 |
--------------------------------------------------------------------------------
/bin/tls-map_console:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | # frozen_string_literal: true
3 |
4 | require 'tls_map'
5 | require 'irb'
6 |
7 | IRB.start(__FILE__)
8 |
--------------------------------------------------------------------------------
/test/file_sample/bulk_IANA.txt:
--------------------------------------------------------------------------------
1 | TLS_DH_RSA_WITH_AES_256_CBC_SHA
2 | TLS_RSA_WITH_RC4_128_SHA
3 | TLS_RSA_WITH_AES_128_CBC_SHA
4 | TLS_INVALID
5 | TLS_CHACHA20_POLY1305_SHA256
6 | TLS_AES_256_GCM_SHA384
7 |
--------------------------------------------------------------------------------
/Rakefile:
--------------------------------------------------------------------------------
1 | # frozen_string_literal: true
2 |
3 | require 'rake/testtask'
4 |
5 | Rake::TestTask.new(:test) do |t|
6 | t.libs << 'test'
7 | t.libs << 'lib'
8 | t.test_files = FileList['test/**/test_*.rb']
9 | end
10 |
11 | desc 'Run tests'
12 | task default: :test
13 |
--------------------------------------------------------------------------------
/test/test_cli.rb:
--------------------------------------------------------------------------------
1 | # frozen_string_literal: false
2 |
3 | require 'minitest/autorun'
4 | require 'minitest/skip_dsl'
5 | require 'tls_map'
6 | require 'tls_map/cli'
7 |
8 | class TLSmapCLITest < Minitest::Test
9 | def test_CLI
10 | assert(TLSmap::CLI.new)
11 | end
12 | end
13 |
--------------------------------------------------------------------------------
/docs/_coverpage.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | # TLS map
4 |
5 | > CLI & library for mapping TLS cipher algorithm names: IANA, OpenSSL, GnuTLS, NSS
6 |
7 | [GitHub](https://github.com/sec-it/tls-map)
8 | [Get Started](pages/quick-start?id=quick-start)
9 |
10 | 
11 |
--------------------------------------------------------------------------------
/.rubocop.yml:
--------------------------------------------------------------------------------
1 | inherit_mode:
2 | merge:
3 | - Exclude
4 | AllCops:
5 | TargetRubyVersion: 2.6
6 | NewCops: enable
7 | Exclude:
8 | - 'test/*.rb'
9 | SuggestExtensions: false
10 | Layout/HashAlignment:
11 | Exclude:
12 | - '*.gemspec'
13 | Metrics/AbcSize:
14 | Enabled: false
15 | Style/OptionalBooleanParameter:
16 | Enabled: false
17 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # EditorConfig: https://EditorConfig.org
2 |
3 | # top-most EditorConfig file
4 | root = true
5 |
6 | # Unix-style newlines with a newline ending every file
7 | [*]
8 | end_of_line = lf
9 | insert_final_newline = true
10 |
11 | # ruby
12 | [*.rb]
13 | charset = utf-8
14 | indent_style = space
15 | indent_size = 2
16 | trim_trailing_whitespace = true
17 |
--------------------------------------------------------------------------------
/docs/_sidebar.md:
--------------------------------------------------------------------------------
1 | - Getting started
2 |
3 | - [Quick start](pages/quick-start.md)
4 | - [Installation](pages/install.md)
5 | - [Usage](pages/usage.md)
6 | - [Examples](pages/examples.md)
7 | - [Demo](pages/demo.md)
8 | - [Mapping](pages/mapping.md)
9 | - [Limitations](pages/limitations.md)
10 |
11 | - Guide
12 |
13 | - [Documentation](pages/documentation.md)
14 | - [Publishing](pages/publishing.md)
15 |
16 | - [About](about.md)
17 | - [Changelog](CHANGELOG.md)
18 |
--------------------------------------------------------------------------------
/docs/pages/limitations.md:
--------------------------------------------------------------------------------
1 | # Limitations
2 |
3 | TLS map is only taking into account the TLS protocol. This means it will list
4 | ciphers of TLS 1.0, TLS 1.1, TLS 1.2 and TLS 1.3 but not from SSL 2.0 and SSL
5 | 3.0.
6 |
7 | Some TLS libraries are using some custom cipher suites that are not
8 | included the TLS standard, those non-standard algorithm are not supported by
9 | TLS map.
10 |
11 | In the TLS standard, there are hexadecimal codepoints that are reserved or
12 | unassigned. Those won't be shown in TLS map.
13 |
--------------------------------------------------------------------------------
/docs/yard/frames.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
83 | 84 | 85 | Modules: TLSmap 86 | 87 | 88 | 89 | 90 |
91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 |MIT License
61 | 62 |Copyright (c) 2021 Alexandre ZANNI at SEC-IT
63 | 64 |Permission is hereby granted, free of charge, to any person obtaining a copy 65 | of this software and associated documentation files (the "Software"), to deal 66 | in the Software without restriction, including without limitation the rights 67 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 68 | copies of the Software, and to permit persons to whom the Software is 69 | furnished to do so, subject to the following conditions:
70 | 71 |The above copyright notice and this permission notice shall be included in all 72 | copies or substantial portions of the Software.
73 | 74 |THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 75 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 76 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 77 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 78 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 79 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 80 | SOFTWARE.
81 |