Soy nuevo en la configuración de SSL desde cero e hice mis primeros pasos. Compré un certificado SSL de RapidSSL para mi dominio y seguí los pasos para instalar el certificado. En general, el certificado es válido y funciona en mi servidor web (nginx v1.4.6 - Ubuntu 14.04.1 LTS), pero si intento activar OCSP OCSP obtengo el siguiente error en mi nginx error.log:
OCSP_basic_verify () falló (SSL: error: 27069065: rutinas OCSP: OCSP_basic_verify: error de verificación del certificado: Error de verificación: no se puede obtener el certificado del emisor local) al solicitar el estado del certificado, respondedor: gv.symcd.com
Lo probé también con este comando desde la línea de comandos:
openssl s_client -connect mydomain.tld: 443 2> & 1 </ dev / null
Y obtuve el "mismo" error como en mi error.log:
[...] SSL-Session: Protocolo: TLSv1.2 Cipher: ECDHE-RSA-AES256-GCM-SHA384 [...] Hora de inicio: 1411583991 Tiempo de espera: 300 (seg) Verificar código de retorno: 20 (no se puede obtener local) certificado de emisor)
Pero si descarga el GeoTrust Root Certificat y lo prueba con este comando:
openssl s_client -connect mydomain.tld: 443 -CAfile GeoTrust_Global_CA.pem 2> & 1 </ dev / null
La verificación está bien:
[...] SSL-Session: Protocolo: TLSv1.2 Cipher: ECDHE-RSA-AES256-GCM-SHA384 [...] Hora de inicio: 1411583262 Tiempo de espera: 300 (seg) Verificar código de retorno: 0 (ok)
Entonces, de alguna manera, el certificado raíz de GeoTrust no se encuentra / entrega.
Mi configuración del sitio 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 escribió en su documentación que debería agregar los siguientes certificados al ssl.crt con el siguiente orden:
- myserver.crt
- Paquete intermedio de CA (RapidSSL SHA256 CA - G3)
- Paquete intermedio de CA (GeoTrust Global CA)
Así que lo hice...
En este momento no tengo idea de lo que estoy haciendo mal ... espero que alguien aquí pueda ayudarme.
¡Gracias!