← Back to all products

SSL Certificate Manager

$19

SSL/TLS certificate automation with Let's Encrypt, auto-renewal, and certificate chain validation.

📁 10 files
JSONMarkdownPythonCI/CD

📄 Product Preview

Try the interactive reader and demo tools below, or get the full product with all content unlocked.

📖 Interactive Reader (Free Preview) ⚙ Try Demo Tools 📦 Download Free Sample

📁 File Structure 10 files

ssl-cert-manager/ ├── LICENSE ├── README.md ├── examples/ │ └── ssl_config.json ├── free-sample.zip ├── guide/ │ ├── 01_features.md │ ├── 02_quick-start.md │ ├── 03_cli-reference.md │ └── 04_license.md ├── index.html └── src/ └── ssl_manager.py

📖 Documentation Preview README excerpt

SSL Certificate Manager

Part of the Deploy Kit by CodeVault

Manage SSL/TLS certificates across your infrastructure. Check expiry dates, validate certificate chains, generate CSR configurations, and get renewal reminders — all from a single config file.

Features

  • Expiry checking: Scan multiple domains and report days until certificate expiry
  • Chain validation: Verify complete certificate chain from leaf to root CA
  • CSR generation config: Generate OpenSSL CSR configuration files from a JSON spec
  • Renewal reminders: Flag certificates expiring within configurable threshold (default: 30 days)
  • Bulk scanning: Check all your domains from a single config file
  • JSON and text output formats for CI/CD integration
  • Exit code 1 when any certificate is expired or near-expiry
  • Python stdlib only — zero dependencies

Quick Start


# Check SSL certificates for all configured domains
python src/ssl_manager.py check --config examples/ssl_config.json

# JSON output for CI/CD pipelines
python src/ssl_manager.py check --config examples/ssl_config.json --format json

# Generate a CSR config file
python src/ssl_manager.py csr --config examples/ssl_config.json --domain api.example.com

# Set custom expiry warning threshold (days)
python src/ssl_manager.py check --config examples/ssl_config.json --warn-days 60

# Check a single domain (no config file needed)
python src/ssl_manager.py check-one --domain api.example.com --port 443

CLI Reference

CommandDescription
checkCheck all domains in config for certificate expiry
check-oneCheck a single domain's certificate
csrGenerate CSR configuration for a domain
FlagDescription
--config, -cPath to the JSON config file
--domainDomain to check or generate CSR for
--portPort for SSL connection (default: 443)
--format, -fOutput format: text or json
--output, -oWrite output to file
--warn-daysDays before expiry to trigger warning (default: 30)
--verbose, -vEnable verbose logging

License

MIT — See LICENSE file.

📄 Code Sample .py preview

src/ssl_manager.py #!/usr/bin/env python3 """ SSL Certificate Manager — Deploy Kit by DataNest Check SSL certificate expiry, validate certificate chains, and generate CSR configuration files for your domains — all from the command line. Why this exists: Expired SSL certificates cause outages that are embarrassing and entirely preventable. This tool scans your domains, tells you exactly when each certificate expires, and integrates with CI/CD so you get non-zero exit codes when any cert is nearing expiry. It also generates OpenSSL CSR configs so you can request new certificates consistently. Usage: python ssl_manager.py check --config ssl_config.json python ssl_manager.py check --config ssl_config.json --format json python ssl_manager.py check-one --domain api.example.com python ssl_manager.py csr --config ssl_config.json --domain api.example.com License: MIT """ from __future__ import annotations import argparse import json import logging import socket import ssl import sys import time from dataclasses import dataclass, field from datetime import datetime, timezone from pathlib import Path from typing import Any # --------------------------------------------------------------------------- # Constants # --------------------------------------------------------------------------- LOG = logging.getLogger("ssl-manager") DEFAULT_PORT = 443 DEFAULT_TIMEOUT = 10 DEFAULT_WARN_DAYS = 30 DEFAULT_CRITICAL_DAYS = 7 # --------------------------------------------------------------------------- # Data Models # ... 516 more lines ...
Buy Now — $19 Back to Products