Install
openclaw skills install ssl-certificate-monitorMonitor SSL certificates for expiration, security issues, and compliance across domains and subdomains.
openclaw skills install ssl-certificate-monitorA CLI tool to monitor SSL/TLS certificates for expiration dates, security issues, and basic compliance checks. Check single domains or multiple domains from a list, get detailed certificate information, and receive alerts before certificates expire.
Key features:
Basic commands:
# Check a single domain
python3 scripts/main.py check example.com
# Check with custom port
python3 scripts/main.py check example.com --port 443
# Check multiple domains from a file (one domain per line)
python3 scripts/main.py batch domains.txt
# Set custom warning threshold (days before expiration)
python3 scripts/main.py check example.com --warning-days 14
# Output JSON for machine processing
python3 scripts/main.py check example.com --json
# Check certificate details (issuer, subject, algorithm, etc.)
python3 scripts/main.py details example.com
# Validate certificate chain and basic security
python3 scripts/main.py validate example.com
python3 scripts/main.py check example.com
Output:
✅ Domain: example.com:443
Status: Valid
Expires: 2026-06-15 23:59:59 UTC
Days remaining: 101
Issuer: Let's Encrypt Authority X3
Subject: CN=example.com
Algorithm: SHA256-RSA
python3 scripts/main.py check example.com --warning-days 30
Output (if expiring within 30 days):
⚠️ Domain: example.com:443
Status: Expiring soon
Expires: 2026-03-10 23:59:59 UTC
Days remaining: 4
Issuer: Let's Encrypt Authority X3
Subject: CN=example.com
Algorithm: SHA256-RSA
Warning: Certificate expires in 4 days
python3 scripts/main.py batch domains.txt --warning-days 30
Output:
📋 Batch check results (5 domains):
✅ example.com: Valid (101 days remaining)
✅ api.example.com: Valid (95 days remaining)
⚠️ staging.example.com: Expiring soon (15 days remaining)
❌ internal.example.com: Invalid (Certificate expired 2 days ago)
❌ old.example.com: Connection failed (Timeout)
Summary: 3 valid, 1 expiring soon, 1 expired, 1 failed
python3 scripts/main.py check example.com --json
Output:
{
"domain": "example.com",
"port": 443,
"status": "valid",
"expires_at": "2026-06-15T23:59:59Z",
"days_remaining": 101,
"issuer": "Let's Encrypt Authority X3",
"subject": "CN=example.com",
"algorithm": "SHA256-RSA",
"serial_number": "0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
"valid_from": "2025-06-16T00:00:00Z",
"valid_to": "2026-06-15T23:59:59Z",
"warning": false,
"error": null
}
python3 scripts/main.py details example.com
Output:
📋 Certificate details for example.com:443
Subject: CN=example.com
Issuer: Let's Encrypt Authority X3
Serial: 0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6
Validity:
Not before: 2025-06-16 00:00:00 UTC
Not after: 2026-06-15 23:59:59 UTC
Days remaining: 101
Signature:
Algorithm: SHA256-RSA
Key size: 2048 bits
Extensions:
Subject Alternative Names: example.com, www.example.com
Key Usage: Digital Signature, Key Encipherment
Extended Key Usage: TLS Web Server Authentication
cryptography library for certificate parsing (installed automatically or via pip)Install missing dependencies:
pip3 install cryptography
The tool works with domain lists as text files (one domain per line). No special configuration directories are required.
This is a skill built by the Skill Factory. Issues and improvements should be reported through the OpenClaw project.