I ran an SSL test on a test website using testssl (https://testssl.sh) and I found this issues:

- Chain of trust is Incomplete
- Server Cipher order is not set

I understand that when Chain of Trust is incomplete there is a missing intermediate certificate in the chain. What is not clear for me is the security, so what threat is posed by an incomplete chain of trust? Same for the server cipher order, why is relevant for security?

  • I'm not quite sure what to answer: you seem to know what a chain of trust is. That inherently explains the effect of the absence of one. Jun 8, 2018 at 10:05
  • For me is not clear the effect. What kind of attack is possible if there is a missing intermediate certificate? I'm worried only about security concerns. Thanks in advance.
    – user179821
    Jun 8, 2018 at 10:29
  • What is the advantage of having a chain of trust? When is it used? I'm sure you can research that... Jun 8, 2018 at 12:13
  • Thanks for your very helpful comment, is right in the spirit of sharing of a community like stack exchange. Anyway, I know what is the advantage of having a chain of trust but my question it's related to obtain information about possible attacks. So I rephrase my question: Is there any example of any pratical attack that exploit a incomplete chain of trust? Please don't answer me with "Man in the middle"
    – user179821
    Jun 8, 2018 at 15:33
  • Well, what do you expect? It's ... man in the middle attacks, which can't be detected due to a missing intermediate certificate. The chain of trust's function is to make sure that every step in the certificate chain is to be trusted. If you want to man-in-the-middle, you need to circumvent that. I really don't know how more elementary I could explain that? Jun 8, 2018 at 15:41

1 Answer 1


What is not clear for me is the security, so what threat is posed by an incomplete chain of trust?

Many browsers will work around such incomplete trust chain, i.e. fill in the missing intermediate certificate from other sources. This is typically done by using locally cached certificates or using the CA Issuers part of the Authority Information Access extension in the certificate to download the missing CA certificate.

But apart from the desktop browsers these workarounds are usually not done. This means that mobile applications, mobile browsers or standalone desktop applications or scripts will fail to validate the certificate which usually results in failing to access the site. In this case it would only be an availability issue. Some developers though then "fix" the problem by simply switching off certificate validation - in which case the availability problem turns into a security problem since now arbitrary certificates are accepted for the site and MITM attacks get undetected.

Server Cipher order is not set

My guess is that it means that the server will adhere to the clients preference of ciphers instead of having its own preference which ciphers are best. As long as the server only supports secure ciphers this is not a problem at all since the final cipher will still be secure. In fact, it can be perfectly ok to adhere to the clients preference. One example is where the client has no hardware backed AES implementation and thus might prefer ciphers using ChaCha20 which have efficient software-only implementations. The server might agree to this preference in order to take load from the client - see this blog from Cloudflare for more.

You must log in to answer this question.