A comprehensive Python tool for SSL/TLS certificate chain inspection, validation, and security analysis.
- Fetch and validate complete certificate chains
- Display certificate hierarchy (leaf, intermediate, root)
- Extract Subject Alternative Names (SAN)
- Export certificates to PEM files
- Save detailed chain information in JSON format
- Test supported TLS versions (1.2, 1.3)
- Analyze cipher suites
- Check for common vulnerabilities
- Verify secure renegotiation support
- Monitor certificate expiration
- Measure response times
- Verify HTTP security headers
- Test TCP connection health
- Analyze SSL/TLS configuration
- Certificate Transparency (CT) log analysis
- Historical certificate tracking
- Multiple CA detection
- Comprehensive security scanning
- Detailed security recommendations
- Interactive CLI with domain autocompletion
- Color-coded output for better readability
- Detailed progress information
- Comprehensive error messages
- Clean, organized menu system
-
First, make sure you have Python installed:
- For Windows: Download from python.org
- For Mac:
brew install python3
- For Linux:
sudo apt install python3 python3-pip
(Ubuntu/Debian) orsudo dnf install python3 python3-pip
(Fedora)
-
Clone the repository:
git clone https://github.com/Garrett12123/ChainCheck.git
cd ChainCheck
- Install required dependencies:
python3 -m pip install -r requirements.txt
python3 ChainCheck.py example.com
python3 ChainCheck.py -i
- Fetch SSL Chain - Get complete certificate chain and validation status
- Save PEM Files - Export certificates to individual PEM files
- Export JSON Details - Save certificate details in structured JSON format
- Protocol Check - Test supported TLS versions and cipher suites
- Vulnerability Scan - Check for common SSL/TLS vulnerabilities
- Server Health - Test response times and security headers
- Certificate Logs - Search CT logs for historical certificates
- Full Security Scan - Comprehensive analysis of all security aspects
-
If you get "command not found: pip":
- Make sure Python is installed
- Try using
python -m pip
orpython3 -m pip
instead
-
If you get SSL/TLS errors:
- Make sure your system's SSL certificates are up to date
- Try updating certifi:
python3 -m pip install --upgrade certifi
- On Linux systems, you might need to install ca-certificates:
# Ubuntu/Debian sudo apt-get install ca-certificates # Fedora sudo dnf install ca-certificates
-
If you get certificate verification errors:
- The script will attempt to use certifi's certificate bundle
- You can manually specify a certificate bundle path:
export SSL_CERT_FILE=/path/to/cacert.pem
- Python 3.6 or higher
- OpenSSL
- Network access to target domains
- Required Python packages (see requirements.txt)
This tool is for diagnostic purposes only. Always follow security best practices and keep your systems updated with the latest security patches.
Contributions are welcome! Please feel free to:
- Submit pull requests
- Report bugs
- Suggest new features
- Improve documentation
MIT License - See LICENSE for details.