Quels certificates intermédiaires sont requirejs (Apache)?

Je reçois l'erreur suivante sur mon server HPUX / Apache:

Vérification du certificate: erreur (20): incapacité d'get le certificate de l'émetteur local

Lorsque je regarde mes certificates racine, j'ai le certificate Root DoD Root CA-2 inclus sur le server.

Le certificate de mon site comporte la string DoD Root CA-2 -> DoD CA-28 -> Certificat.

Lorsque je fais ce qui suit, je reçois une erreur:

-bash-4.3$ openssl s_client -connect mysite:443 -showcerts CONNECTED(00000003) depth=0 /C=US/O=US Government/OU=DoD/OU=PKI/OU=USN/CN=mysite verify error:num=20:unable to get local issuer certificatee verify return:1 depth=0 /C=US/O=US Government/OU=DoD/OU=PKI/OU=USN/CN=mysite verify error:num=27:certificatee not trusted verify return:1 depth=0 /C=US/O=US Government/OU=DoD/OU=PKI/OU=USN/CN=mysite verify error:num=21:unable to verify the first certificatee verify return:1 20509:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1102:SSL alert number 40 20509:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:182: 

Outre l'erreur et la confirmation de la command openssl ci-dessus, mon site fonctionne la plupart du time (j'ai un manque de memory qui me cause des problèmes).

Ai-je besoin du certificate DoD CA-28 dans mon magasin racine sur mon server?

Pour Apache HTTPD, vous n'avez qu'à «exiger» la key RSA et le certificate signé X509 ou auto-signé. Aucun CA n'est nécessaire.

Bien que certains clients se plaignent s'ils ne voient pas que vous avez la string complète ou au less la string de CA, à l'exception de la racine si elles l'ont.

Supposons qu'il y ait une autorité de signature appelée avec 3 ca, appelée EXEMPLE, et a signé votre certificate.

 ROOT-EXAMPLE <-- browsers may have this if it is a known authority SUB-EXAMPLE <--- you haven't included this one SIGNER-EXAMPLE <--- you haven't included this one YOURCERT <-- you are offering this one YOURKEY <-- you are offering this one 

Donc brièvement, pour pouvoir chiffrer-décrypter Apache HTTPd, il suffit d'avoir besoin des deux premiers en commençant par le bas, et vous devriez append tout le rest (sauf la racine si elle est incluse dans les browsers, ce qui n'est pas nécessaire.

Comment faire cela avec Apache HTTPD (inclure tout)? Simple

 SSLCertificateKeyFile /path/to/rsa.key SSLCertificateFile /path/to/chain.crt <-- here you can include the signed and the ca's from root to leaf.