Skip to main content

Manage local SSL certificates for development environments

Project description

Local SSL Manager

A command-line tool to create and manage local SSL certificates for development environments.

Features

  • Create self-signed SSL certificates for local domains
  • Automatically update /etc/hosts file
  • Set up browser trust for the certificates
  • Domain-specific logging
  • Interactive domain management

Installation

pip install local-ssl-manager

Requirements

  • Python 3.8 or higher
  • mkcert tool (will be installed automatically if possible)
  • Admin/sudo privileges (for /etc/hosts and certificate installation)

Usage

Create a new local domain with SSL certificate

ssl-manager create --domain myproject.local

Create a single certificate for multiple domains

ssl-manager create-multi --domains "app.local,api.local,admin.local"

Delete a domain and its certificate

ssl-manager delete

This will show an interactive selector to choose which domain to delete.

List all managed domains

ssl-manager list

Export a certificate for use elsewhere

ssl-manager export --domain myproject.local --output /path/to/export/dir

Import an existing certificate

ssl-manager import-cert --domain myproject.local --cert /path/to/cert.crt --key /path/to/key.key

View help

ssl-manager --help

Configuration

By default, Local SSL Manager stores all certificates and configuration in ~/.local-ssl-manager/. You can customize the location by setting the SSL_MANAGER_HOME environment variable.

How it works

  1. Creates a local Certificate Authority (CA) using mkcert
  2. Installs the CA certificate in your system and browser trust stores
  3. Creates domain-specific certificates signed by your local CA
  4. Updates your hosts file to point the domains to 127.0.0.1
  5. Maintains metadata about your certificates for easy management

Development

Clone the repository and install in development mode:

git clone https://github.com/yourusername/local-ssl-manager.git
cd local-ssl-manager
pip install -e ".[dev]"

Run tests:

pytest

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

local_ssl_manager-0.1.0.tar.gz (24.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

local_ssl_manager-0.1.0-py3-none-any.whl (23.0 kB view details)

Uploaded Python 3

File details

Details for the file local_ssl_manager-0.1.0.tar.gz.

File metadata

  • Download URL: local_ssl_manager-0.1.0.tar.gz
  • Upload date:
  • Size: 24.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.13

File hashes

Hashes for local_ssl_manager-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8edd9c2a6e328ed3ddec3475175b1432bd7c58d4a03fd03e25a4fbbf7e7a7010
MD5 8ea654a08abb03e416b9ea90cff73158
BLAKE2b-256 8c6312b0edcd1446fef08a7de31c862456e79ee5a7676bb5f1fb9817201489e5

See more details on using hashes here.

File details

Details for the file local_ssl_manager-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for local_ssl_manager-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 04485eb861418c6fc41029f9db8644ed1e703958cba85bb78f4cf27811b4e37a
MD5 022d0461281f2f10c2ed2a7e200f2019
BLAKE2b-256 1a4b935860b6770148c23806474e4eb94a5f621276953e4714767bad6ed7c312

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page