Je suis nouveau pour configurer SSL à partir de zéro et j'ai fait mes premiers pas. J'ai acheté un certificat SSL auprès de RapidSSL pour mon domaine et j'ai suivi les étapes pour installer le certificat. En général, le certificat est valide et fonctionne sur mon serveur Web (nginx v1.4.6 - Ubuntu 14.04.1 LTS), mais si j'essaie d'activer OCSP OCSP, j'obtiens l'erreur suivante dans mon nginx error.log:
OCSP_basic_verify () a échoué (SSL: erreur: 27069065: routines OCSP: OCSP_basic_verify: erreur de vérification de certificat: erreur de vérification: impossible d'obtenir le certificat d'émetteur local) lors de la demande d'état du certificat, répondeur: gv.symcd.com
Je l'ai également essayé avec cette commande depuis la ligne de commande:
openssl s_client -connect mydomain.tld: 443 2> & 1 </ dev / null
Et obtenu la "même" erreur comme dans mon error.log:
[...] Session SSL: Protocole: TLSv1.2 Chiffre: ECDHE-RSA-AES256-GCM-SHA384 [...] Heure de début: 1411583991 Délai d'expiration: 300 (sec) Vérifiez le code retour: 20 (impossible d'obtenir le local certificat d'émetteur)
Mais si vous téléchargez le certificat racine GeoTrust et essayez-le avec cette commande:
openssl s_client -connect mydomain.tld: 443 -CAfile GeoTrust_Global_CA.pem 2> & 1 </ dev / null
La vérification est correcte:
[...] Session SSL: Protocole: TLSv1.2 Chiffre: ECDHE-RSA-AES256-GCM-SHA384 [...] Heure de début: 1411583262 Délai d'expiration: 300 (sec) Vérifiez le code retour: 0 (ok)
Donc, en quelque sorte, le certificat racine GeoTrust n'est pas trouvé / livré.
Ma configuration de site nginx:
server {
listen 443;
server_name mydomain.tld;
ssl on;
ssl_certificate /etc/ssl/certs/ssl.crt;
ssl_certificate_key /etc/ssl/private/ssl.key;
# Resumption
ssl_session_cache shared:SSL:20m;
# Timeout
ssl_session_timeout 10m;
# Security options
ssl_prefer_server_ciphers on;
ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
# OCSP Stapling
# It means that you sent status info about your certificate along with the request,
# instead of making the browser check the certificate with the Certificate Authority.
# This removes a large portion of the SSL overhead, the CloudFlare post above explains it in more detail.
ssl_stapling on;
ssl_stapling_verify on;
#ssl_trusted_certificate /etc/ssl/certs/ssl.pem;
#resolver 8.8.8.8 8.8.4.4 valid=300s;
#resolver_timeout 10s;
# This forces every request after this one to be over HTTPS
add_header Strict-Transport-Security "max-age=31536000";[...]};
RapidSSL a écrit dans sa documentation que je devrais ajouter les certificats suivants dans le ssl.crt avec l'ordre suivant:
- myserver.crt
- Bundle CA intermédiaire (RapidSSL SHA256 CA - G3)
- Bundle CA intermédiaire (GeoTrust Global CA)
Alors j'ai fait ...
Pour l'instant, je n'ai aucune idée de ce que je fais mal ... j'espère que n'importe qui ici peut m'aider.
Je vous remercie!
Je ne peux répondre qu'en partie.
openssl s_client -connect mydomain.tld: 443 2> & 1 </ dev / null
aurait besoin du certificat racine Globalsign dans / etc / ssl / certs. Il existe un paquet de certificats CA, l'avez-vous installé?
la source