SSL Security Test

  • Web Server SSL Test
  • SSL Certificate Test
  • Email Server SSL Test
  • PCI DSS, HIPAA & NIST Test
Free online tool to test SSL security
150,708,072SSL security tests performed

SSL Security Test for CI/CD

SSL Security Test can be seamlessly integrated into your CI/CD pipeline to automatically test new or updated servers prior or during their deployment to production. You can use a Docker image or a Python script as described below.

Installing Python Script

Create virtual environment and install dependencies. Python >= 3.7 required.

git clone "https://github.com/immuniweb/iwtools.git" && cd iwtools/iwtools

python3 -m venv env

source ./env/bin/activate

pip install -r requirements.txt

Using Python Script or Docker Container

Check your servers for security and compliance with PCI DSS, HIPAA & NIST:

Start a new test or get the results from cache:
./iwtools.py ssl example.com:443
Force to use a specific IP address of the test's target:
./iwtools.py ssl --ip 8.8.8.8 example.com:443
Get raw API response in JSON format:
./iwtools.py ssl --format raw_json example.com:443

You can specify option -p, --pipeline to compare a test result you get with pre-determined values in the configuration file in the iwtools/config directory. The result of the comparison can be viewed in the Exit Code of the script.

Force to refresh a test using the Docker container with an API key
docker run immuniweb/iwtools ssl --api-key ABCDE-12345-FGHIJ-67890 --recheck -p example.com:443
Force to refresh a test using the Python script with an API key
./iwtools.py ssl --api-key ABCDE-12345-FGHIJ-67890 --recheck -p example.com:443

By default, iwtools uses the configuration file iwtools/config/ssl.yaml. You can change the values in the default file, or use your own one. The path to the custom configuration file is specified with -cfg option.

How to specify the custom configuration file's path
./iwtools.py ssl --api-key ABCDE-12345-FGHIJ-67890 -r -p -cfg config/ssl-new.yaml example.com:443

If you're using Docker, in order to use a custom configuration file, you need to mount volume, which will contain the new file. If the name of the configuration file is different from the default config/ssl.yaml one, then you need to specify the new name via the -cfg config/{new-file-name} parameter.

How to specify the custom configuration file's path for Docker
docker run --volume /{path-to-config}/:/app/config/ immuniweb/iwtools ssl --api-key ABCDE-12345-FGHIJ-67890 -r -p -cfg config/ssl-new.yaml example.com:443

In the console log, you will be able to see which of your desired checks have passed or failed.

Currently only yaml and json formats are supported. List of parameters that can be configured.

One of these Exit Codes can be returned:

  • 0 - all checks have passed successfully.
  • 1 - an error occured.
  • 2 - an error occured in the input data.
  • 3 - at least one of the checks has failed.

Check other command line options here.