OCSP doğrulaması - yerel yayıncı sertifikası alınamıyor


17

SSL'yi sıfırdan kurmak için yeniyim ve ilk adımlarımı yaptım. Etki alanım için RapidSSL'den bir SSL sertifikası aldım ve sertifikayı yüklemek için adımları izledim. Genel olarak sertifika geçerli ve web sunucum üzerinde çalışıyor (nginx v1.4.6 - Ubuntu 14.04.1 LTS), ancak OCSP OCSP'yi etkinleştirmeye çalışıyorsam, nginx hatamda aşağıdaki hatayı alıyorum: log:

OCSP_basic_verify () başarısız oldu (SSL: hata: 27069065: OCSP yordamları: OCSP_basic_verify: sertifika doğrulama hatası: Doğrulama: yerel yayıncı sertifikası alınamıyor) sertifika durumu istenirken, yanıtlayan: gv.symcd.com

Komut satırından bu komutla da denedim:

openssl s_client -connect etkialanim.tld: 443 2> & 1 </ dev / null

Ve benim error.log gibi "aynı" hata var:

[...] SSL Oturumu: Protokol: TLSv1.2 Şifre: ECDHE-RSA-AES256-GCM-SHA384 [...] Başlangıç ​​Zamanı: 1411583991 Zaman Aşımı: 300 (sn) Dönüş kodunu doğrulayın: 20 (yerel alınamıyor ihraççı sertifikası)

Ancak GeoTrust Kök Sertifikasını indirin ve bu komutla deneyin:

openssl s_client -connect etkialanım.tld: 443 -CAfile GeoTrust_Global_CA.pem 2> & 1 </ dev / null

Doğrulama tamam:

[...] SSL Oturumu: Protokol: TLSv1.2 Şifre: ECDHE-RSA-AES256-GCM-SHA384 [...] Başlangıç ​​Zamanı: 1411583262 Zaman Aşımı: 300 (sn) Dönüş kodunu doğrulayın: 0 (tamam)

Yani bir şekilde GeoTrust Kök Sertifikası bulunamıyor / sunulmuyor.

Nginx site yapılandırmam:

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 belgelerinde aşağıdaki sertifikaları ssl.crt dosyasına aşağıdaki sırayla eklemem gerektiğini yazdı:

  1. myserver.crt
  2. Ara CA Paketi (RapidSSL SHA256 CA - G3)
  3. Orta Düzey CA Paketi (GeoTrust Global CA)

Ben de yaptım...

Şu anda neyi yanlış yaptığımı bilmiyorum ... umarım buradaki herkes bana yardımcı olabilir.

Teşekkür ederim!

Yanıtlar:


17

Hata mesajı aynı olmasına rağmen bu iki hata ilişkisizdir.

[...] SSL Oturumu: Protokol: TLSv1.2 Şifre: ECDHE-RSA-AES256-GCM-SHA384 [...] Başlangıç ​​Zamanı: 1411583991 Zaman Aşımı: 300 (sn) Dönüş kodunu doğrulayın: 20 (yerel alınamıyor ihraççı sertifikası)

Yukarıdaki hata openssl_client komutu verildi. Florian Heigl tarafından açıklandığı gibi, bu hatayı alıyorsunuz çünkü openssl_client'in Globalsign Root sertifikasına ihtiyacı var /etc/ssl/certs.


OCSP_basic_verify () başarısız oldu (SSL: hata: 27069065: OCSP yordamları: OCSP_basic_verify: sertifika doğrulama hatası: Doğrulama: yerel yayıncı sertifikası alınamıyor) sertifika durumu istenirken, yanıtlayan: gv.symcd.com

Bu hata için , özellikle nginx.conf dosyasına satır eklediğinizde, nginx ocsp yordamı tarafından yayınlandı ssl_stapling_verify on;.

Bazı alıntıyı Buraya belgelere ait ssl_stapling_verifybu hata atıyor niçin

Sözdizimi: ssl_stapling_verify on | kapalı;

Sunucu tarafından OCSP yanıtlarının doğrulanmasını etkinleştirir veya devre dışı bırakır.

Doğrulamanın çalışması için, sunucu sertifika yayıncısının sertifikası, kök sertifika ve tüm ara sertifikalar ssl_trusted_certificate yönergesi kullanılarak güvenilen olarak yapılandırılmalıdır.

Başka bir deyişle, yönerge için (2) Ara CA Paketi (RapidSSL SHA256 CA - G3) ve (3) Ara CA Paketi (GeoTrust Global CA) sağlamanız gerekir ssl_trusted_certificate.

cat GeoTrustGlobalCA.crt rapidsslG3.crt > ocsp-chain.crt

ve eklemek ocsp-chain.crtiçin ssl_trusted_certificatedirektif.


Çok teşekkür ederim! Bunu da denedim, ama her zaman cli komutuyla test ettim.
kapale

Ara sertifikaları nereden bulabiliriz?
ingo

1

Bunun sadece bir kısmını cevaplayabilirim.

openssl s_client -connect etkialanim.tld: 443 2> & 1 </ dev / null

/ etc / ssl / certs içinde Globalsign Root sertifikasına ihtiyaç duyacaktır. Bir ca-sertifika paketi var, yüklediniz mi?


RapidSSL ve GeoTrust ile uğraşırken neden Globalsign Root sertifikasını kullanacağımı anlamıyorum. Globalsign'dan farklılar ... yanılmışsam beni düzeltin!
Dijital site
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.