Debian 6.0 32 비트 서버에서 SSL을 구성하는 데 문제가 있습니다. 저는 SSL을 처음 사용하므로 참아주세요. 가능한 한 많은 정보를 포함하고 있습니다.
참고 : 서버의 ID와 무결성을 보호하기 위해 실제 도메인 이름이 변경되었습니다.
구성
서버가 nginx를 사용하여 실행 중입니다. 다음과 같이 구성됩니다.
ssl_certificate /usr/local/nginx/priv/mysite.ca.chained.crt;
ssl_certificate_key /usr/local/nginx/priv/mysite.ca.key;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_verify_depth 2;
여기에 설명 된 방법을 사용하여 인증서를 연결 했습니다.
cat mysite.ca.crt bundle.crt > mysite.ca.chained.crt
mysite.ca.crt
서명 기관에서 나에게 제공 한 인증서는 어디에 있고 bundle.crt
내 서명 기관에서 나에게도 보낸 CA 인증서는 어디에 있습니까 ? 문제는 GlobalSign에서 직접 SSL 인증서를 구매하지 않고 대신 호스팅 제공 업체 인 Singlehop을 통해 구매했다는 것입니다.
테스팅
인증서는 Safari 및 Chrome에서 올바르게 검증되지만 Firefox에서는 검증되지 않습니다. 초기 검색 결과 CA에 문제가있는 것으로 나타났습니다.
비슷한 질문에 대한 답을 탐색 했지만 각 인증서가 어떤 용도로 사용되는지 실제로 이해하지 못해 해결책을 찾지 못했습니다.
나는 openssl의 s_client를 사용하여 연결을 테스트 하고 유사한 질문과 동일한 문제를 나타내는 것으로 보이는 출력을 받았습니다 . 오류는 다음과 같습니다.
depth=0 /OU=Domain Control Validated/CN=*.mysite.ca
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 /OU=Domain Control Validated/CN=*.mysite.ca
verify error:num=27:certificate not trusted
verify return:1
openssl의 응답에 대한 자세한 내용 (인증서 및 불필요한 정보 잘림 포함)은 여기 에서 찾을 수 있습니다 .
나는 또한 경고를 본다.
No client certificate CA names sent
이것이 문제 일 가능성이 있습니까? nginx가 이러한 CA 이름을 전송하는지 어떻게 확인할 수 있습니까?
문제 해결 시도
GlobalSign에서 직접 루트 CA를 다운로드하여 문제를 해결하려고했지만 동일한 오류가 발생했습니다. update-ca-certificates
명령을 사용하여 Debian 서버에서 루트 CA를 업데이트 했지만 변경된 사항이 없습니다. 내 공급자가 보낸 CA가 정확했기 때문에 인증서가 두 번 연결되어 도움이되지 않았기 때문일 수 있습니다.
0 s:/OU=Domain Control Validated/CN=*.mysite.ca
i:/C=BE/O=GlobalSign nv-sa/CN=AlphaSSL CA - SHA256 - G2
1 s:/O=AlphaSSL/CN=AlphaSSL CA - G2
i:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
2 s:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
i:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
다음 단계
시도해 볼 수있는 것이 있거나 전체를 잘못 구성한 경우 알려주세요.
AlphaSSL CA - SHA256 - G2
. 그러나 체인은 중간AlphaSSL CA - G2
. 현재 중간 인증서 (AlphaSSL CA - G2
) 를 삭제하고 지문ae:bf:32:c3:c8:32:c7:d7...
(AlphaSSL CA - SHA256 - G2
) 이있는 인증서로 교체 해야한다고 생각합니다 . 또한 을 보낼 필요 가 없습니다GlobalSign Root CA
. 클라이언트는 자신의 (또는 중개자) 신뢰를 루트해야합니다.