Je viens de faire un test rapide sur ssllabs.com: j'ai obtenu A +, ce dont je suis content.
Cependant, il y a une chose que je ne sais pas comment "corriger": mon site prend en charge l'agrafage OCSP et ssllabs ne cesse de me dire: problèmes de chaîne: contient une ancre. Je sais que ce n'est qu'un "avertissement" dans le sens où cela ralentit un peu la connexion.
configuration nginx:
..
ssl_certificate public.crt;
ssl_certificate_key private.key;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate my-chain.pem;
..
Où:
- public.crt est le certificat public que j'ai obtenu de StartSSL
- private.key la clé privée du certificat
- my-chain.pem (ssllabs appelle ceci: "Certificats supplémentaires (si fournis)") se composent de:
1.) StartCom Class 1 Primary Intermediate Server CA
2.) StartCom Certification Authority
J'ai trouvé un site qui utilise également des certificats StartCom (StartSSL), prend en charge l'agrafage OCSP, mais n'a pas le problème décrit ci-dessus.
"Certificats supplémentaires" de ce site:
1.) StartCom Class 1 Primary Intermediate Server CA
J'ai essayé la même chose: ne mettez "CA de serveur intermédiaire principal de classe 1 de StartCom" qu'à my-chain.pem.
Cependant alors ssllabs dit: Agrafage OCSP: Non Donc cela semble casser complètement l'agrafage OCSP.
Une idée?
ssl_certificate = Site certificate + StartCom Class 1 Primary Intermediate Server CA
ssl_trusted_certificate = StartCom Class 1 Primary Intermediate Server CA + StartCom Certification Authority
Selon documentation nginx le ssl_trusted_certificate
le paramètre contient des certificats d'autorité de certification approuvés utilisés pour vérifier les certificats clients et les réponses OCSP si ssl_stapling est activé et la liste des ces certificats ne seront pas envoyés aux clients .
Par conséquent, je pense que ce que ssllabs appelle "certificats supplémentaires (si fournis)" sont les certificats dans le ssl_certificate
fichier qui n'est pas le certificat du serveur.
Pour moi:
public.crt
devrait contenir ces 2 certificats:
1) your server certificate
2) StartCom Class 1 Primary Intermediate Server CA
my-chain.pem
devrait contenir ces 2 certificats:
1) StartCom Class 1 Primary Intermediate Server CA // required to validate the server certificate OCSP response
2) StartCom Certification Authority // required to validate the intermediate CA certificate OCSP response
À l'heure actuelle, le certificat de votre site est référencé par ssl_certificate
et un fichier contenant à la fois le certificat intermédiaire et le certificat CA référencé par ssl_trusted_certificate
Au lieu de cela, vous devez avoir un fichier contenant à la fois le certificat de votre site et le certificat intermédiaire référencé par ssl_certificate
et UNIQUEMENT le certificat CA référencé par ssl_trusted_certificate
c'est à dire:
public.crt Devrait contenir:
1) your site's cert, issued by StartCom
2) StartCom Class 1 Primary Intermediate Server CA
et my-chain.pem Devrait contenir:
1) StartCom Certification Authority
Oui, c'est l'opposé de la façon dont Apache fait les choses. Mais nginx! = Apache.