The X.509 certificate issued for this domain cannot be trusted. Therefore, clients such as browsers will show warnings or not connect if they cannot trust the certificate. Read here how you can configure trusted certificates.

Table of contents
  1. Trusted Certificates Security Assessment
  2. Trusted Certificates Vulnerability Information
  3. How to Configure Trusted Certificates

Trusted Certificates Security Assessment

Security Assessment Configure Trusted Certificates


Trusted Certificates Vulnerability Information

The X.509 certificate issued for this domain cannot be trusted. Clients such as browsers will show warnings or not connect if they cannot trust the certificate. In addition, trust issues arise if the common name in the certificate does not match the webserver domain, if the server does not provide an intermediate certificate or if the certificate is self-signed.

How to Configure Trusted Certificates

To issue a trusted certificate for your web application, the certificate needs to contain the correct information for your web application, such as the domain name as the certificate’s common name. In addition, the certificate needs to be signed by a certificate authority (CA) that the users’ browser trusts. The webserver has then to be configured to present the certificate on incoming https requests. Use one of the following guides to generate and use a trusted certificate.

Let’s Encrypt

With Let’s Encrypt is very easy to generate secure and trusted certificates. Install the certbot on the server which runs the web server and run the following command:

certbot run -d [DOMAIN] --staple-ocsp --hsts


You can manually create a new, secure certificate and a certificate signing request (CSR). For example, to generate the certificate with a private key and the CSR run:

openssl req -nodes -new -newkey rsa:2048 -sha256 -out csr.pem

Answer all questions according to your needs. Then send the csr.pem file to your CA. They will use this request to sign your certificate and provide you with the signed certificate. If the signed certificate is returned to you as new.crt, you can combine the key and the signed certificate as follows:

cp privkey.pem /etc/ssl/privkey.key
cp privkey.pem /etc/ssl/new.pem
cat new.crt >> /etc/ssl/new.pem

The resulting new.pem file can be copied to your webserver directory to be used in the web application. If your certificate is signed by an intermediate certificate (which is not stored in your user’s certificate storage), instead of a root certificate (stored in your user’s certificate storage), you will need to bundle the intermediate certificate with your own server certificate.


On Apache you need insert the certificate into the virtual host configuration in/etc/apache2/sites-enabled/domain.confor/etc/httpd/sites-enabled/domain.conf:

<IfModule mod_ssl.c>
    SSLStaplingCache shmcb:/tmp/stapling_cache(128000)
    <VirtualHost *:443>
            ServerAdmin webmaster@localhost
            DocumentRoot /var/www
            SSLEngine on
            SSLCertificateFile /etc/ssl/new.pem
            SSLCertificateKeyFile /etc/ssl/privkey.key


For Nginx, update the configuration file which is usually located at /etc/nginx/nginx.conf, /etc/nginx/sited-enabled/ (Ubuntu / Debian) or /etc/nginx/conf.d/nginx.conf (RHEL / CentOS). Add the following directive to the server section:

server {

        listen 443;

        root /usr/share/nginx/www;
        index index.html index.htm;

        ssl on;
        ssl_certificate /etc/ssl/new;
        ssl_certificate_key /etc/ssl/privkey.key;

See if Your Web App or API Has Security Vulnerabilities