Commit Graph

11 Commits

Author SHA1 Message Date
root
823c6a9056 fix: auto-install libnss3-tools if certutil is missing
- Checks for certutil command before use
- Automatically installs libnss3-tools package if needed
- Works with sudo for non-root users
- Prevents 'command not found' errors
2025-10-23 10:15:02 +02:00
root
23afabb28e feat: add CA certificate installation script
New script: install-ca-cert.sh
- Downloads UCS CA certificate from server
- Installs to system CA certificates (/usr/local/share/ca-certificates/)
- Installs to NSS database (Chrome, Chromium, Brave)
- Installs to all Firefox profiles
- Verifies installation
- Works for current user

Usage:
  ./install-ca-cert.sh [ca-server-ip]

Default CA server: 10.0.0.21

Benefits:
 One-command setup for new users/systems
 Automatic browser detection
 Works with all major browsers
 Verification of successful installation
2025-10-23 10:12:27 +02:00
root
dd10546688 feat: add support for additional DNS names in SAN
Changes:
- generate-csr.sh: New 9th parameter for comma-separated additional DNS names
- cert-manager.py: Interactive prompt for additional DNS names
- Automatically appends extra names to SAN list

Example usage:
- Interactive: Enter 'firewall.domain.com,vpn.domain.com' at prompt
- Manual: ./generate-csr.sh host fqdn DE berlin berlin org it 4096 'extra1.com,extra2.com'

Benefits:
 Single certificate for multiple DNS names
 Support for aliases and CNAMEs
 Flexible certificate deployment
2025-10-23 10:06:24 +02:00
root
44850efcd2 feat: complete IP address in SAN support
Changes:
- generate-csr.sh: Auto-detects target IP via SSH or DNS
- sign-cert.sh: Preserves SAN extensions including IP addresses
- Uses UCS CA password file for automated signing
- Fixes IP Address: -> IP: format conversion for OpenSSL compatibility

Benefits:
 Access services via https://10.0.0.50:8006 without warnings
 Access via https://hostname:8006 also works
 Single certificate for all access methods
 Browser shows secure connection for both methods

Technical details:
- Extracts SAN from CSR and applies via -extfile
- Uses 'openssl x509 -req' with -passin file:/etc/univention/ssl/password
- Preserves all DNS names and IP addresses in signed certificate
2025-10-23 09:32:50 +02:00
root
a4f3b80c66 feat: add IP address support in SAN field
- Automatically detects target host IP address
- Includes IP in Subject Alternative Names (IP:x.x.x.x)
- Allows secure HTTPS access via both hostname AND IP
- Tries SSH detection first, falls back to local DNS resolution
- Shows detected IP in generation summary
- Displays SAN entries after CSR creation for verification

Benefits:
- Access services via https://10.0.0.50:8006 without cert warnings
- Access via https://hostname:8006 also works
- Single certificate for all access methods
- No browser security warnings on IP-based access
2025-10-23 09:15:36 +02:00
root
2a7d1c23aa docs: comprehensive update with system detection and deployment capabilities
- Added detailed system detection matrix (5 system types)
- Documented Proxmox VE full automation capabilities
- Listed manual deployment requirements for other systems
- Enhanced troubleshooting section with common issues
- Added security notes and file locations
- Improved interactive workflow example
2025-10-23 09:08:26 +02:00
root
6fb1454310 Improve system detection robustness
- Enhanced detect-system.sh with better SSH options
- Added BatchMode and StrictHostKeyChecking=no for automation
- Increased timeout from 5 to 10 seconds
- Explicit exit codes for clarity

- Improved cert-manager.py detection function:
  - Checks if detect script exists before running
  - Validates return code
  - Checks for empty output
  - Better timeout handling (15 seconds)
  - More detailed error messages
  - Handles TimeoutExpired exception separately
2025-10-23 08:32:52 +02:00
root
d9e3356e9a Add intelligent system detection and Proxmox support
New features:
- detect-system.sh: Automatically detects target system type
  - Proxmox VE
  - pfSense
  - TrueNAS
  - UCS
  - Unknown/generic

- deploy-proxmox.sh: Automated Proxmox certificate deployment
  - Backs up existing certificates
  - Installs certificate to /etc/pve/local/pveproxy-ssl.*
  - Restarts pveproxy service
  - Fully automated deployment

- cert-manager.py enhancements:
  - Detects system type before proceeding
  - Uses system-specific deployment scripts when available
  - Shows detected system type in summary
  - Intelligent deployment based on system capabilities
  - Manual deployment instructions for unsupported systems
2025-10-23 08:28:23 +02:00
root
5837c35b7c Add configurable key length with 4096-bit default
- Added key_bits parameter to configuration (default: 4096)
- Updated generate-csr.sh to accept key length as 8th parameter
- Updated cert-manager.py to prompt for key length
- Key length shown in summary and output
- Supports common key sizes: 2048, 4096, 8192 bits
2025-10-23 08:22:45 +02:00
root
1064b61eb3 Add usage examples documentation 2025-10-23 08:18:04 +02:00
root
576e7de917 Initial commit: Certificate management tools
- cert-manager.py: Interactive certificate lifecycle management
- generate-csr.sh: Generate CSR on remote host
- sign-cert.sh: Sign certificate with UCS CA
- README.md: Complete documentation
- .gitignore: Ignore certificate and config files

Features:
- Interactive prompts with default values
- Config persistence between runs
- Remote CSR generation with proper server extensions
- Automated CA signing
- Optional certificate deployment
2025-10-23 08:11:35 +02:00