Certificate Manager is a web-based application designed to help manage SSL/TLS certificates, track their expiry dates, and send notifications when certificates are about to expire.
-
Certificate Management
- Upload certificates in various formats (.pem, .crt, .pfx, etc.)
- Extract expiry dates automatically
- Track certificate details and expiry dates
- Set custom notification thresholds for each certificate
-
Remote Server Management
- Specify the server and directory where each certificate is deployed
- Deploy renewed certificates directly to servers via SSH
-
Notification System
- Email notifications when certificates are nearing expiry
- Configurable notification thresholds and frequency
- Custom SMTP server configuration
-
Certificate Generation
- Generate new certificates using Let's Encrypt
- Automate certificate renewal process
-
Clone the repository:
git clone <repository-url> cd certificate-manager -
Install dependencies:
pip install -r requirements.txt -
Run the application:
python app.py -
Access the web interface at
http://localhost:5000
- Python 3.7+
- Required Python packages (see requirements.txt)
- For Let's Encrypt certificate generation:
- Certbot installed on the server
- OpenSSL for certificate operations
Configuration settings can be modified in config/config.json:
SECRET_KEY: Flask secret key (change this in production!)UPLOAD_FOLDER: Directory where uploaded certificates are storedMAX_CONTENT_LENGTH: Maximum allowed upload sizeEMAIL_CHECK_INTERVAL: How often (in seconds) to check for expiring certificates
- Navigate to the "Add Certificate" page
- Upload your certificate file
- Provide a friendly name and optionally specify server details
- The application will automatically extract the expiry date
- Click "Add Certificate" to save
- Navigate to the "Generate Certificate" page
- Enter the domain name and your email address
- Optionally specify a custom name and server details
- Click "Generate Certificate"
- The certificate will be generated and added to your list
- View a certificate's details
- Ensure host and directory information is provided
- Click "Deploy to Server"
- The certificate will be uploaded to the specified location
- Navigate to the "Settings" page
- Configure your SMTP server details
- Set notification thresholds and frequency
- Save settings
- Use the "Run Notification Check" button to manually trigger checks
This project is licensed under the MIT License - see the LICENSE file for details.
© 2025 Kazlabs - Made with