{"id":22503091,"url":"https://github.com/caminashell/certify","last_synced_at":"2025-03-27T23:13:40.364Z","repository":{"id":220237326,"uuid":"751041762","full_name":"caminashell/certify","owner":"caminashell","description":"Self-sign Certificate Generator","archived":false,"fork":false,"pushed_at":"2024-02-01T00:55:21.000Z","size":25,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-02T01:13:27.939Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/caminashell.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}},"created_at":"2024-01-31T20:20:54.000Z","updated_at":"2024-02-01T00:46:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"ed3ba7ca-2cc5-4e86-a04d-1ce2b2877249","html_url":"https://github.com/caminashell/certify","commit_stats":null,"previous_names":["caminashell/certify"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caminashell%2Fcertify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caminashell%2Fcertify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caminashell%2Fcertify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caminashell%2Fcertify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/caminashell","download_url":"https://codeload.github.com/caminashell/certify/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245938232,"owners_count":20697008,"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-12-06T23:28:38.058Z","updated_at":"2025-03-27T23:13:40.338Z","avatar_url":"https://github.com/caminashell.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Certify\n\nCertify is a simple utility to create self-signed certificates for SSL/TLS to work on networks that do not have a public domain, like an HTTP server on a private network or your computer (localhost).\n\n- Written in shell script and compiled with [SHC](https://github.com/neurobin/shc) (Shell Script Compiler) for distribution.\n- This has been repurposed mainly for Linux, but feel free to adjust it for MacOS.\n- It will not work on WindowsPC unless you use the Windows Subsystem for Linux (WSL).\n\n## Requirements\n\n- `openssl` - To generate RSA keys for the certificates.[^1]\n- `tar` - For packing the certificates into an archive file.[^2]\n- `make` - To easily run execution scripts on the project.[^3]\n- `shc` - For compiling the script for use and/or distribution.[^4]\n\n### Installation\n\nAfter cloning this repository to your workspace, first build the program:\n\n```sh\nmake\nmake install\n```\n\nOptionally, to relax security. Make a redistributable binary (anyone can use it):\n\n```sh\nmake dist\nmake install\n```\n\nInstalling will require elevated permission (and may prompt you to authorise the action).\n\nAll installation does is create a symlink within `/usr/local/bin` to the project directory `bin` location, so that you can use the command `certify` globally, at any location.\n\n### Running Certify\n\nSimply running this on its own will present the user with an introduction to usage:\n\n```sh\ncertify\n```\n\nFor the moment, the arguments cannot contain spaces. An example would be:\n\n```sh\ncertify home.local GB England London Acme.org\n```\n\nA version check for `openssl` and `tar` will take place on execution.\n\n### Uninstallation\n\nTo uninstall the utility, type:\n\n```sh\nmake uninstall\n```\n\n## Known issues to improve on\n\n- Arguments string cannot contain spaces.\n- Organisation Unit parameter[^5] fails. Has been omitted until the above issue works.\n- Opens output folder with `dolphin` *(as I currently use Debian)*. Expand to detect GUI\n- Improve help functionality.\n- The user cannot choose output directory for the archive.\n- Could \"zip\" be a better archiver for accessibility?\n\n## Background\n\n\u003e *I originally wrote this utility to help toward resolving web browser security validation warnings when building web applications, via [NGINX](https://github.com/nginx).*\n\u003e\n\u003e *When people noticed this difference, and asked for a copy of the tool, I made an effort to passed it through a compiler to protect the source code and prevent other employees messing with it, or worse, claiming credit for coming up with it. Yes, it was that kind of place.*\n\u003e\n\u003e *Now, I am happy to freely share this code for people to comment, learn, or improve upon.*\n\n[^1]: [OpenSSL Cryptography and SSL/TLS Toolkit - https://www.openssl.org](https://www.openssl.org)\n[^2]: [Tar - GNU Project - Free Software Foundation - https://www.gnu.org/software/tar/](https://www.gnu.org/software/tar/)\n[^3]: [Make - GNU Project - Free Software Foundation- https://www.gnu.org/software/make/](https://www.gnu.org/software/make/)\n[^4]: [Shell script compiler (shc) - https://neurobin.org/projects/softwares/unix/shc/](https://neurobin.org/projects/softwares/unix/shc/)\n[^5]: [RFC 1779:  A String Representation of Distinguished Names - https://www.rfc-editor.org/rfc/rfc1779#section-2.2](https://www.rfc-editor.org/rfc/rfc1779#section-2.2)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaminashell%2Fcertify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcaminashell%2Fcertify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaminashell%2Fcertify/lists"}