{"id":15673856,"url":"https://github.com/lmammino/openssl-rfc-mapping","last_synced_at":"2026-05-09T17:34:54.529Z","repository":{"id":57315526,"uuid":"128371377","full_name":"lmammino/openssl-rfc-mapping","owner":"lmammino","description":"A quick'n'dirty script to map OpenSSL RFC to machine parseable data","archived":false,"fork":false,"pushed_at":"2018-04-10T12:57:59.000Z","size":63,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-15T00:12:13.556Z","etag":null,"topics":["chipers","cli","json","library","mapping","module","nodejs","rfc","ssl","standard","suitename","tls"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lmammino.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}},"created_at":"2018-04-06T08:49:54.000Z","updated_at":"2018-04-10T12:57:21.000Z","dependencies_parsed_at":"2022-09-18T20:33:46.832Z","dependency_job_id":null,"html_url":"https://github.com/lmammino/openssl-rfc-mapping","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lmammino%2Fopenssl-rfc-mapping","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lmammino%2Fopenssl-rfc-mapping/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lmammino%2Fopenssl-rfc-mapping/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lmammino%2Fopenssl-rfc-mapping/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lmammino","download_url":"https://codeload.github.com/lmammino/openssl-rfc-mapping/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246281217,"owners_count":20752208,"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","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":["chipers","cli","json","library","mapping","module","nodejs","rfc","ssl","standard","suitename","tls"],"created_at":"2024-10-03T15:42:38.330Z","updated_at":"2026-05-09T17:34:49.509Z","avatar_url":"https://github.com/lmammino.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# openssl-rfc-mapping\n\n[![npm version](https://badge.fury.io/js/openssl-rfc-mapping.svg)](http://badge.fury.io/js/openssl-rfc-mapping)\n[![CircleCI](https://circleci.com/gh/lmammino/openssl-rfc-mapping.svg?style=shield)](https://circleci.com/gh/lmammino/openssl-rfc-mapping)\n[![codecov.io](https://codecov.io/gh/lmammino/openssl-rfc-mapping/coverage.svg?branch=master)](https://codecov.io/gh/lmammino/openssl-rfc-mapping)\n[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)\n\nA quick'n'dirty library and command line utility to map OpenSSL RFC to machine parseable data.\n\nThe data is taken from [testssl.sh](https://testssl.sh/openssl-rfc.mapping.html).\n\n\n## 💽 Install\n\nAs usual in 2018, most of the software is installed through `npm`, this one makes no difference:\n\n```bash\nnpm install --global openssl-rfc-mapping\n```\n\nBe sure to have `node \u003e= 6.0.0`.\n\n\n### 💾 Precompiled binaries\n\nAlternatively, you can install openssl-rfc-mapping by downloading one of the precompiled executables available for Windows, Linux or Mac in the [releases page](https://github.com/lmammino/openssl-rfc-mapping/releases).\n\n\n### 🦔 Usage\n\nopenssl-rfc-mapping can be used from command line or programmatically.\n\n\n#### 💻 Command line usage\n\nOnce you have openssl-rfc-mapping installed you will have access to the `openssl-rfc-mapping` executable (or its alias `ssl-rfc-json`).\n\nSo you just have to run:\n\n```bash\nopenssl-rfc-mapping\n```\n\nAnd you will get the mapping as a JSON in the standard output. The mapping will be generated\nin real time by parsing the data available on [testssl.sh](https://testssl.sh/openssl-rfc.mapping.html), so be sure to have internet connection.\n\n\n#### ⌨️ Programmatic usage\n\nYou can easily use the same functionality in your Node.js code as follows:\n\n```javascript\nconst getMapping = require('openssl-rfc-mapping')\n\ngetMapping()\n  .then((data) =\u003e console.log(data.mapping))\n  .catch((err) =\u003e console.error(err))\n```\n\n`getMapping` returns a promise that resolves to an object that has 2 keys:\n`_meta` for metadata and `mapping` containing the actual mapping to the RFC spec.\n\nThe mapping will look like the following dictionary:\n\n```json\n{\n  \"0x060040\": {\n    \"name\": \"DES-CBC-MD5\",\n    \"keyExch\": \"RSA\",\n    \"encryption\": \"DES\",\n    \"bits\": \"56\",\n    \"chiperSuiteName\": \"SSL_CK_DES_64_CBC_WITH_MD5\"\n  },\n  \"0x0700c0\": {\n    \"name\": \"DES-CBC3-MD5\",\n    \"keyExch\": \"RSA\",\n    \"encryption\": \"3DES\",\n    \"bits\": \"168\",\n    \"chiperSuiteName\": \"SSL_CK_DES_192_EDE3_CBC_WITH_MD5\"\n  },\n  \"0x080080\": {\n    \"name\": \"RC4-64-MD5\",\n    \"keyExch\": \"RSA\",\n    \"encryption\": \"RC4\",\n    \"bits\": \"64\",\n    \"chiperSuiteName\": \"SSL_CK_RC4_64_WITH_MD5\"\n  }\n}\n```\n\n`getMapping` will parse the source website in real time, every time you invoke it.\nIf you want a pre-compiled static version of it, you can import a mapping file that is\ngenerated everytime a new version of this project is published on NPM:\n\n```javascript\nconst data = require('openssl-rfc-mapping/src/mapping.json')\n\n// do stuff with data._meta and data.mapping\n```\n\n## 👯‍ Contributing\n\nEveryone is very welcome to contribute to this project.\nYou can contribute just by submitting bugs or suggesting improvements by\n[opening an issue on GitHub](https://github.com/lmammino/openssl-rfc-mapping/issues).\n\n\n## 🤦‍ License\n\nLicensed under [MIT License](https://github.com/lmammino/openssl-rfc-mapping/LICENSE). © Luciano Mammino.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flmammino%2Fopenssl-rfc-mapping","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flmammino%2Fopenssl-rfc-mapping","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flmammino%2Fopenssl-rfc-mapping/lists"}