태그 보관물: ocsp

ocsp

OCSP 유효성 검사-로컬 발급자 인증서를 가져올 수 없음 수 없습니다. 내 nginx 사이트 구성 : server

처음부터 SSL을 처음 사용하고 첫 단계를 수행했습니다. 내 도메인의 RapidSSL에서 SSL 인증서를 구입 한 후 인증서 설치 단계를 수행했습니다. 일반적으로 인증서는 유효하며 웹 서버 (nginx v1.4.6-Ubuntu 14.04.1 LTS)에서 작동하지만 OCSP OCSP를 활성화하려고하면 nginx error.log에 다음 오류가 발생합니다.

인증서 상태를 요청하는 동안 OCSP_basic_verify () 실패 (SSL : 오류 : 27069065 : OCSP 루틴 : OCSP_basic_verify : 인증서 확인 오류 : 오류 확인 : 로컬 발급자 인증서를 가져올 수 없음), 응답자 : gv.symcd.com

커맨드 라인 에서이 명령으로 시도했습니다.

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

그리고 내 error.log와 같은 “같은”오류가 발생했습니다.

[…] SSL- 세션 : 프로토콜 : TLSv1.2 암호 : ECDHE-RSA-AES256-GCM-SHA384 […] 시작 시간 : 1411583991 시간 초과 : 300 (초) 반환 코드 확인 : 20 (로컬을 가져올 수 없음) 발급자 인증서)

그러나 GeoTrust Root Certificat을 다운로드하고 다음 명령으로 시도하십시오.

openssl s_client -connect mydomain.tld : 443 -CA 파일 GeoTrust_Global_CA.pem 2> & 1 </ dev / null

확인은 괜찮습니다 :

[…] SSL- 세션 : 프로토콜 : TLSv1.2 암호 : ECDHE-RSA-AES256-GCM-SHA384 […] 시작 시간 : 1411583262 시간 초과 : 300 (초) 반환 코드 확인 : 0 (ok)

따라서 어떻게 든 GeoTrust Root Cert를 찾을 수 없습니다.

내 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은 그의 설명서에 다음 순서로 ssl.crt에 다음 인증서를 추가해야한다고 썼습니다.

  1. myserver.crt
  2. 중간 CA 번들 (RapidSSL SHA256 CA-G3)
  3. 중급 CA 번들 (GeoTrust Global CA)

그래서 나는 …

지금은 내가 뭘 잘못하고 있는지 전혀 모른다 … 잘만되면 여기 누구든지 나를 도울 수있다.

감사합니다!



답변

오류 메시지는 동일하지만이 두 오류는 관련이 없습니다.

[…] SSL- 세션 : 프로토콜 : TLSv1.2 암호 : ECDHE-RSA-AES256-GCM-SHA384 […] 시작 시간 : 1411583991 시간 초과 : 300 (초) 반환 코드 확인 : 20 (로컬을 가져올 수 없음) 발급자 인증서)

위의 오류는 openssl_client 명령 을 발행했습니다 . Florian Heigl이 설명했듯이 openssl_client에의 Globalsign Root 인증서가 필요하기 때문에이 오류가 발생합니다 /etc/ssl/certs.


인증서 상태를 요청하는 동안 OCSP_basic_verify () 실패 (SSL : 오류 : 27069065 : OCSP 루틴 : OCSP_basic_verify : 인증서 확인 오류 : 오류 확인 : 로컬 발급자 인증서를 가져올 수 없음), 응답자 : gv.symcd.com

이 오류의 경우, 특히 nginx.conf 에 행 을 추가 할 때 nginx ocsp 루틴에 의해 발행되었습니다 ssl_stapling_verify on;.

일부 발췌 여기에 문서ssl_stapling_verify가 오류가 발생 이유를 설명

구문 : ssl_stapling_verify on | 떨어져서;

서버에 의한 OCSP 응답 확인을 활성화 또는 비활성화합니다.

확인이 작동 하려면 ssl_trusted_certificate 지시문을 사용하여 서버 인증서 발급자 인증서, 루트 인증서 및 모든 중간 인증서 를 신뢰할 수있는 것으로 구성해야합니다.

즉, (2) 중간 CA 번들 (RapidSSL SHA256 CA-G3)(3) 중간 CA 번들 (GeoTrust Global CA)ssl_trusted_certificate지정 해야 합니다.

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

그리고 추가 ocsp-chain.crtssl_trusted_certificate지시.


답변

나는 이것의 일부에만 대답 할 수 있습니다.

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

/ etc / ssl / certs에 Globalsign Root 인증서가 필요합니다. 인증서 패키지가 있습니다. 설치되어 있습니까?


답변