Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>You most likely lack the 'chain' or inter mediate certificates (which some people may have in their browser, and some not).</p> <p>The easiest way to resolve this is by looking at the issuer details on your certificate; and finding that certificate. Then look at the issuer details of that cert - until you hit the 'root' - which is a self signed certificate (subject identical to issuer).</p> <p>Once you've got them all concatenate them in a file and point SSLCertificateChainFile at that. </p> <p>Your httpd.conf then looks like</p> <pre><code> SSLEngine on SSLCertificateKeyFile .../your-key.key SSLCertificateFile .../your-cert.pem SSLCertificateChainFile .../ca-bundle.pem </code></pre> <p>Some CA's make this file available as a 'ca-bundle' (https://support.comodo.com/index.php?_m=knowledgebase&amp;_a=viewarticle&amp;kbarticleid=1203) when they issue a cert. Most don't.</p> <p>So in that case you'll need to create it. Doing </p> <pre><code>openssl x509 -in &lt;your cert.pem&gt; -noout -issuer </code></pre> <p>will get you the exact issuer string. Googling for it generally gives you the intermediate cert you need (usually at the support site of your CA). Once you have that - repeat above and keep going at it until you are at the final one -- where issuer is identical to subject.</p> <p>Once done - restart the webserver and that should be it.</p> <p>If you want to verify you got the whole chain - then use the command</p> <pre><code>openssl s_client -connect &lt;your domain name&gt;:443 </code></pre> <p>and check that the output starts with:</p> <pre><code>0 s:/C=GB/OU=Domain Control Validated/CN=&lt;your domain&gt; i:/C=BE/O=Comodo/CN=Comodo foobar .... 3 s:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA i:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA </code></pre> <p>and at least has one entry (3 in above example) where you have a final root; the S is identical top the i. If you just see a single entry</p> <pre><code>0 s:/C=GB/OU=Domain Control Validated/CN=&lt;your domain&gt; i:/C=BE/O=Comodo/CN=Comodo foobar </code></pre> <p>and nothing more - then check your chain again - and make sure that it contains a cert with a <em>subject</em> identical to your <em>issuer</em> (in above example '/C=BE/O=Comodo/CN=Comodo foobar').</p> <p>You can check this by parsing each blob in your bundle with</p> <pre><code> openssl x509 -noout -in file.pem -subject -issuer </code></pre> <p>where file.pem is one chunk of your SSLCertificateChainFile file.</p> <p>Caveat: Above is a slight simplification - some Chains may have multiple roots/cross-signing. In that case it gets a bit more complex - but follows above example. </p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload