The BSim PostgreSQL database is now configured with SSL support to resolve the "The server does not support SSL" error in Ghidra.
Use this connection URL in Ghidra BSim:
postgresql://<DB_USER>:<DB_PASSWORD>@localhost:5432/bsim?ssl=true&sslmode=require
- SSL Status: ✅ Enabled
- Certificate Type: Self-signed certificate
- Certificate Location:
./ssl/ca.crt - Valid For: 365 days from creation
postgresql://<DB_USER>:<DB_PASSWORD>@localhost:5432/bsim?ssl=true&sslmode=require
- ✅ Secure connection
- ✅ Works with self-signed certificates
- ✅ Recommended for production use
If you need to verify the certificate (advanced users):
postgresql://<DB_USER>:<DB_PASSWORD>@localhost:5432/bsim?ssl=true&sslmode=verify-ca&sslrootcert=./ssl/ca.crt
postgresql://<DB_USER>:<DB_PASSWORD>@localhost:5432/bsim?ssl=false&sslmode=disable
⚠️ Not recommended for production- Use only for testing if SSL causes issues
-
Check Container Status:
./test-bsim-setup.sh
-
Verify SSL is Enabled:
docker exec bsim-postgres psql -U ben -d bsim -c "SHOW ssl;"
-
Check Certificate Files:
ls -la ./ssl/ca.crt docker exec bsim-postgres ls -la /var/lib/postgresql/data/server.*
-
Try SSL Required Mode First:
postgresql://<DB_USER>:<DB_PASSWORD>@localhost:5432/bsim?ssl=true&sslmode=require -
Check Java SSL Configuration (if needed):
- Ghidra uses Java's SSL implementation
- Self-signed certificates should work with
sslmode=require - If issues persist, you may need to import the certificate into Java's keystore
-
Add Certificate to Java Keystore (advanced):
# Find Java installation java -XshowSettings:properties -version 2>&1 | grep java.home # Import certificate (replace JAVA_HOME with actual path) keytool -importcert -file ./ssl/ca.crt -keystore $JAVA_HOME/lib/security/cacerts -alias bsim-postgres
The SSL certificate is valid for 365 days. To renew:
-
Stop the container:
docker-compose down bsim-postgres
-
Remove old certificates:
docker volume rm re-universe_bsim_postgres_data
-
Restart container (will generate new certificates):
docker-compose up -d bsim-postgres
To verify SSL is working, you should be able to connect from Ghidra BSim using the SSL-enabled URL without the "server does not support SSL" error.
- ✅ Before: "The server does not support SSL" error
- ✅ After: Successful BSim database connection
- ✅ SSL Status: Connection established with SSL encryption
- BSim Setup Guide:
BSIM-SETUP.md - Verification Script:
./test-bsim-setup.sh - PostgreSQL SSL Documentation: https://www.postgresql.org/docs/current/ssl-tcp.html