Ssl-tool - A simple interactive CLI wrapper around openssl to make creation and installation of self-signed certs easy

Overview

What's this?

A simple interactive CLI wrapper around openssl to make self-signing SSL certs easy.

Self-signed SSL certs are meant for ensuring a consistent https development environment or for getting rid of "Your connection is not private" messages in homelab.

Dependencies

  • Python 3
  • openssl

Usage

Download the script and just run it.

python ./ssl-tool.py --help
usage: ssl-tool.py [-h] {create,install} ...

interactive CLI wrapper around openssl to make self-signing SSL certs easy

positional arguments:
  {create,install}  subcommands
    create          create a cert
    install         install a cert

options:
  -h, --help        show this help message and exit
usage: ssl-tool.py create [-h] {CA,SSL}

positional arguments:
  {CA,SSL}    create a CA cert or an individual SSL cert

options:
  -h, --help  show this help message and exit
usage: ssl-tool.py install [-h] {CA}

positional arguments:
  {CA}        install a CA cert

options:
  -h, --help  show this help message and exit

The script eliminates the need to create a extfile manually. And can even auto-install the CA certificate for you.

If you choose to auto-install the CA certificate, please note that escalated privileges are required for it. Windows users must run the script in a shell ran as administrator and Linux users must run the script with sudo or a similar privilege escalation tool. The script doesn't support auto-install for Macs yet.

The script has been currently tested on Windows 10, Windows 11, Ubuntu 20.04 and Debian 11.

Contributing

Pull requests, feature requests, and issues are always welcome.

Install the CA Certificate

To trust the SSL certificates created with this tool, the root CA certificate must be installed beforehand. In case you want/need to do it manually:

On Windows

Import-Certificate -FilePath "<path-to-CA-certificate>" -CertStoreLocation Cert:\LocalMachine\Root
  • -CertStoreLocation can be set to Cert:\CurrentUser\Root to only install the CA certificate for the current logged in user.
  • Refer the documentation here.

OR

certutil.exe -addstore root C:\ca.pem
  • certutil.exe is a built-in tool (classic System32 one) and adds a system-wide trust anchor.

On Android

The exact steps vary device-to-device.

  • Open phone's settings
  • Locate Encryption and Credentials section. It is generally found under Settings > Security > Encryption and Credentials
  • Choose Install a certificate
  • Choose CA Certificate
  • Locate the certificate file on your SD Card/Internal storage with the file manager.
  • Select to load it.
  • Done!

On Debian and Derivativess

  • Move the CA certificate to /usr/local/share/ca-certificates or a sub-dir in that path.
  • Now run:
sudo update-ca-certificates
  • Filename should end in .crt. The .pem file this wrapper generates, can be directly renamed to .crt according to the internet.
  • Refer the documentation here and here.

On Fedora

  • Move the CA certificate to /etc/pki/ca-trust/source/anchors/ or /usr/share/pki/ca-trust-source/anchors/
  • Now run (with sudo if necessary):
update-ca-trust
  • .pem file can be used directly here.
  • Refer the documentation here.
Owner
Aniket Teredesai
17, developer ⚡ | blogger 📑 | linux-er 🐧
Aniket Teredesai
Kattis shell for getting examples, testing and submitting.

Kattis shell for getting examples, testing and submitting.

Simon Green Kristensen 15 Sep 30, 2022
Ntfy - 🖥️📱🔔 A utility for sending notifications, on demand and when commands finish.

About ntfy ntfy brings notification to your shell. It can automatically provide desktop notifications when long running commands finish or it can send

Daniel Schep 4.5k Jan 01, 2023
An easy-to-bundle GTK terminal emulator.

EasyTerm An easy-to-bundle GTK terminal emulator. This project is meant to be used as a dependency for other

Bottles 4 May 15, 2022
A supercharged Git/GitHub command line interface (CLI)

A supercharged Git/GitHub command line interface (CLI).

Donne Martin 7.4k Jan 07, 2023
A tool to manage the study of courses at the university.

todo-cli A tool to manage the study of courses at the university

Quentin 6 Aug 01, 2022
swarmexec executes command in swarm service

Swarmexec swarmexec executes command in swarm service Install pip install git+https://github.com/filimon43g/swarmexec.git Config In swarm_config.ini

Phil 2 Nov 23, 2021
Shazam is a Command Line Application that checks the integrity of the file by comparing it with a given hash.

SHAZAM - Check the file's integrity Shazam is a Command Line Application that checks the integrity of the file by comparing it with a given hash. Crea

Anaxímeno Brito 1 Aug 21, 2022
vimBrain is a brainfuck-based vim-inspired esoteric programming language.

vimBrain vimBrain is a brainfuck-based vim-inspired esoteric programming language. vimBrainPy Currently, the only interpreter available is written in

SalahDin Ahmed 3 May 08, 2022
EODAG is a command line tool and a plugin-oriented Python framework for searching, aggregating results and downloading remote sensed images while offering a unified API for data access regardless of the data provider

EODAG (Earth Observation Data Access Gateway) is a command line tool and a plugin-oriented Python framework for searching, aggregating results and downloading remote sensed images while offering a un

CS GROUP 205 Jan 03, 2023
Fetch is use to get information about anything on the shell using Wikipedia.

Fetch Search wikipedia article on command line [Why This?] [Support the Project] [Installation] [Configuration] Why this? Fetch helps you to quickly l

Yash Singh 340 Dec 18, 2022
CLI tool to show the current crypto balance

CryptoBoard The simple python CLI tool for one currency to show the current crypto balance yours purchases. That's all. Data source is from https://ww

John 2 Nov 18, 2021
Juniper Command System is a Micro CLI Tool that allows you to manage your files, launch applications, as well as providing extra tools for OS Management.

Juniper Command System is a Micro CLI Tool that allows you to manage your files, launch applications, as well as providing extra tools for OS Management.

Juan Carlos Juárez 1 Feb 02, 2022
Splitgraph command line client and python library

Splitgraph Overview Splitgraph is a tool for building, versioning and querying reproducible datasets. It's inspired by Docker and Git, so it feels fam

Splitgraph 313 Dec 24, 2022
Command line tool to keep track of your favorite playlists on YouTube and many other places.

Command line tool to keep track of your favorite playlists on YouTube and many other places.

Wolfgang Popp 144 Jan 05, 2023
Command line, configuration and persistence utilities

Zensols Utilities Command line, configuration and persistence utilities generally used for any more than basic application. This general purpose libra

Paul Landes 2 Nov 17, 2022
CLI program that allows you to change your Alacritty config with one command without editing the config file.

Pycritty Change your alacritty config on the fly! Installation: pip install pycritty By default, only the program itself will be installed, but you ca

Antonio Sarosi 184 Jan 07, 2023
Neovim integration for Google Keep, built using gkeepapi

Gkeep.nvim Neovim integration for Google Keep, built using gkeepapi Requirements Neovim 0.5 Python 3.6+ A patched font (optional. Used for icons) Tabl

Steven Arcangeli 143 Jan 02, 2023
Random scripts and other bits for interacting with the SpaceX Starlink user terminal hardware

starlink-grpc-tools This repository has a handful of tools for interacting with the gRPC service implemented on the Starlink user terminal (AKA "the d

270 Dec 29, 2022
Execute shell command lines in parallel on Slurm, S(on) of Grid Engine (SGE), PBS/Torque clusters

qbatch Execute shell command lines in parallel on Slurm, S(on) of Grid Engine (SGE), PBS/Torque clusters qbatch is a tool for executing commands in pa

Jon Pipitone 26 Dec 12, 2022
Squirrel - A cli program to track writing progress

Squirrel Very much a WIP project squirrel is a command line program that tracks you writing progress and gives you useful information and cute and pic

3 Mar 23, 2022