TLS, mTLS, SSL, and HTTPS Support in Testfully

Out of the box, Testfully supports sending requests to servers that use Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. This means you can send requests to servers that use HTTPS, the secure version of HTTP. This document explains how Testfully can be customized to work with servers that use self-signed certificates, invalid certificates, or custom certificates.

Pick the right agent!

Testfully Desktop Agent (Next Gen) is required to use TLS, mTLS, SSL, and HTTPS features. If you are using Testfully Desktop Agent (1.0.0), please switch to the Next Gen by selecting it from the bottom-right corner of the app.

Working with Self-Signed Certificates

When you send a request to a server that uses a self-signed certificate or a certificate that is not trusted by your operating system, Testfully will display an error message. You can choose to bypass the error by disabling the SSL verification in the request settings or by adding the server's certificate to the list of trusted certificates in Testfully. This section explains both approaches.

Adding a Certificate to the Trusted List

The best way to work with self-signed certificates is to add the server's certificate to the list of trusted certificates in Testfully. This way, you can continue to use SSL verification and ensure that your requests are secure. Here's how you can add a certificate to the trusted list:

  1. Open the Certificates App by clicking on the Certificates button in the sidebar.
  2. Click on the Add Certificate Button to open the certificate dialog.
  3. Select the CA from the Certificate Type dropdown.
  4. Click on the Select file button to select a .pem or .crt file.
  5. Click on the Save button to add the certificate to the trusted list.

Upon adding the certificate to the trusted list, Testfully will use it to verify the server's certificate when sending requests.

Uploading multiple certificates

Testfully allows you to add multiple certificates to the trusted list of certificates. This is useful when you need to work with multiple servers that use self-signed certificates. You can add as many certificates as you need by following the steps above.

.crt and .pem files

You can upload certificates in .crt or .pem format. These are the most common formats for certificates. If you have a certificate in a different format, you can convert it to .crt or .pem using a tool like openssl.

.pem files with multiple certificates

If you have a .pem file that contains multiple certificates, you can upload it to Testfully. Testfully will extract all certificates from the file and add them to the trusted list.

Disabling a Certificate

Disabling a certificate will prevent Testfully from using it to verify the server's certificate. To disable a certificate, click on the Active switch of the certificate.

Disabling SSL Verification

If you prefer to disable SSL verification for a request, you can do so by disabling this option in the request settings. Disabling SSL verification will allow you to send requests to servers that use self-signed certificates or invalid certificates.

Disabling SSL Verification in Request Settings

To disable SSL verification for a request, follow these steps:

  1. Open the Request Settings by clicking on the Settings button in the request editor.
  2. Select Do not verify certificate option from the Certificate Verification dropdown.
  3. Click on the Save button to save the settings.

Disabling SSL Verification for all requests within a folder

You can disable SSL verification for all requests within a folder by setting the folder's certificate verification option to Do not verify certificate. This will apply the setting to all requests within the folder. To do this, follow these steps:

  1. Hover over the folder in the sidebar and click on the ... button.
  2. Click on the Settings button to open the folder settings.
  3. Select Do not verify certificate option from the Certificate Verification dropdown.
  4. Click on the Save button to save the settings.

Disabling SSL Verification for an environment

It's also possible to disable SSL verification for requests that are sent using a specific environment. To do this, follow these steps:

  1. Open the environment settings by clicking on the Environments button in the sidebar.
  2. Click on the environment that you want to edit.
  3. Click on the Settings button to open the environment settings.
  4. Select Do not verify certificate option from the Certificate Verification dropdown.
  5. Click on the Save button to save the settings.

Mutual TLS (mTLS) Support

Testfully supports Mutual TLS (mTLS) authentication, which allows you to send requests to servers that require client certificates.

Uploading a Client Certificate

To send requests to servers that require client certificates, you need to upload the client certificate to Testfully. Here's how you can upload a client certificate:

  1. Open the Certificates App by clicking on the Certificates button in the sidebar.
  2. Click on the Add Certificate Button to open the certificate dialog.
  3. Select the Client Certificate (mTLS) from the Certificate Type dropdown.
  4. Enter a list of hosts that require the client certificate in the Hosts field. You can add multiple hosts by separating them with commas. For example, example.com,test.example.com.
  5. If you have a certificate and a private key in separate files, you can upload them by clicking on the Select file button for each file. If you have combined the certificate and the private key into a single file, you can upload a .p12 or .pfx file.
  6. For .p12 or .pfx files, you need to enter the password in the Password field.
  7. Click on the Save button to add the client certificate to Testfully.

Disabling a Client Certificate

Disabling a client certificate will prevent Testfully from using it when sending requests to servers that require client certificates. To disable a client certificate, click on the Active switch of the certificate.

Supported Platforms

PlatformSupported
Testfully Desktop for Windows
Testfully Desktop for macOS
Testfully Desktop for Windows
Testfully CLIComing Soon
Testfully for WebLimited Support

Testfully for Web Limitations

Testfully for Web (available via the browser) relies on Testfully Cloud Agent to send requests that require customising TLS. The Cloud Agent cannot reach servers that are not publicly accessible, require a VPN connection, are behind a firewall, or are dev servers running on localhost. If you need to send requests to such servers, you should use Testfully Desktop.

Support and Feedback

If you have any questions or need help with configuring TLS, mTLS, SSL, or HTTPS in Testfully, please don't hesitate to reach out to us via support@testfully.io or the in-app chat. We're here to help you!