{"id":20844513,"url":"https://github.com/pushpabrol/cryptographic_keygen_utility","last_synced_at":"2025-08-23T19:37:25.992Z","repository":{"id":216708291,"uuid":"742105322","full_name":"pushpabrol/cryptographic_keygen_utility","owner":"pushpabrol","description":null,"archived":false,"fork":false,"pushed_at":"2024-01-12T02:25:22.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-19T04:10:03.655Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pushpabrol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2024-01-11T19:15:58.000Z","updated_at":"2024-01-11T19:22:15.000Z","dependencies_parsed_at":"2024-01-12T05:46:48.050Z","dependency_job_id":"0a469765-b56a-4d72-9d8d-85ba210b4b01","html_url":"https://github.com/pushpabrol/cryptographic_keygen_utility","commit_stats":null,"previous_names":["pushpabrol/cryptographic_keygen_utility"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pushpabrol%2Fcryptographic_keygen_utility","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pushpabrol%2Fcryptographic_keygen_utility/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pushpabrol%2Fcryptographic_keygen_utility/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pushpabrol%2Fcryptographic_keygen_utility/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pushpabrol","download_url":"https://codeload.github.com/pushpabrol/cryptographic_keygen_utility/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243205254,"owners_count":20253427,"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":[],"created_at":"2024-11-18T02:09:51.598Z","updated_at":"2025-03-12T11:15:58.657Z","avatar_url":"https://github.com/pushpabrol.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# README for Key Generation Script\n\n## Overview\n\nThis script is a Node.js application designed for generating cryptographic keys using various algorithms and configurations. It leverages `node-jose` and `jose` libraries for cryptographic operations and `inquirer` for interactive command-line prompts.\n\n## Features\n\n- **Multiple Key Types**: Supports RSA, Elliptic Curve (EC), Octet Key Pair (OKP), and Octet Sequence (oct) key types.\n- **Variety of Algorithms**: Offers a range of algorithms for both signing (sig) and encryption (enc) purposes.\n- **Customizable Key Sizes and Curves**: Allows selection of key sizes for RSA and oct keys, and curves for EC and OKP keys.\n- **Output Formats**: Generates keys in both JSON Web Key Set (JWKS) and PEM formats.\n\n## Prerequisites\n\n- Node.js\n- npm (Node Package Manager)\n\n## Installation\n\n1. Clone the repository or download the script file.\n2. Navigate to the script's directory.\n3. Run `npm install` to install required dependencies.\n\n## Usage\n\nTo use the script, follow these steps:\n\n1. Run the script using `node index`.\n2. Follow the interactive prompts to choose the key type, purpose (signing or encryption), algorithm, and key size/curve.\n3. The script will output the generated key in JWKS and PEM formats.\n\n### Key Configuration\n\n- **RSA**: Supports key sizes of 2048, 4096, and 8192 bits.\n- **EC**: Supports `P-256`, `P-384`, `P-521`, and `secp256k1` curves.\n- **OKP**: Supports `Ed25519`, `Ed448`, `X25519`, and `X448` curves.\n- **oct**: Supports various key sizes and algorithms, including HMAC and AES.\n\n### Output\n\n- Displays the generated keys in both JWKS and PEM formats.\n- For asymmetric keys (RSA, EC), it provides both private and public keys.\n- For symmetric keys (oct), it generates a shared key.\n\n## Error Handling\n\nThe script includes error handling to catch and display any issues encountered during the key generation process.\n\n## Note\n\nThis script is intended for educational and development purposes. Ensure to follow best practices for key management and security in production environments. \n\n---\n\nFor further customization or issues, refer to the documentation of the `node-jose` and `jose` libraries.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpushpabrol%2Fcryptographic_keygen_utility","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpushpabrol%2Fcryptographic_keygen_utility","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpushpabrol%2Fcryptographic_keygen_utility/lists"}