더 이상 사용되지 않는 Apache의 SSLCertificateChainFile 지시문 (AH02559)


8

최근에 Apache를 2.2에서 2.4로 업그레이드했으며 SSLCertificateChainFile지시문 을 더 이상 사용하지 않는 방법을 알 수 없습니다 .

오류:

me@jessie:~$ sudo apache2ctl configtest 
AH02559: The SSLCertificateChainFile directive (/etc/apache2/sites-enabled/https.conf:103) is deprecated, SSLCertificateFile should be used instead
Syntax OK

내 현재 설정 :

SSLCertificateFile    /etc/apache2/cert/ssl.crt
SSLCertificateKeyFile /etc/apache2/cert/ssl.key
SSLCertificateChainFile /etc/apache2/cert/sub.class1.server.sha2.ca.pem
SSLCACertificateFile /etc/apache2/cert/ca.pem

인증서는 StartCOM에 의해 서명됩니다. 매뉴얼에 따르면, 전체 체인은 SSLCertificateFile지시문에 의해 지정된 하나의 파일에 있어야 하지만이 키와 어떤 키를 어떤 순서로 연결해야하는지 모르겠습니다.

답변:


8

아파치 설정에서 이것을 사용한다고 가정하면 :

SSLCertificateFile    /etc/apache2/cert/ssl.crt
SSLCertificateKeyFile /etc/apache2/cert/ssl.key

/etc/apache2/cert/ssl.crt파일이 포함되어 있어야합니다

  1. yourdomain.com 등의 인증서
  2. 루트 CA가 서명 한 첫 번째 중간 CA 인증서 (예 : StartCom Class 1 주 중급 서버 CA)
  3. 첫 번째 중간 CA가 서명 한 두 번째 중간 CA 인증서 (인증서 체인에 두 번째 중간 CA가있는 경우)

모든 중간 CA의 인증서를 crt 파일에 넣어야합니다. 인증서의 인증서 체인에 따라 다양한 수의 CA가 청구됩니다.

루트 CA는 클라이언트의 신뢰 저장소에 있어야하므로 루트 CA를 추가 할 필요가 없습니다. 그렇지 않으면 클라이언트에 오류 페이지가 표시되며 체인에 추가하면 추가 오버 헤드가 발생합니다. 새로운 SSL 세션마다 전송되어야하므로 SSL 연결 설정 실제로 대부분의 클라이언트에는 중간 CA 인증서가 설치되어 있지만 일부는 그렇지 않을 수 있습니다. 예를 들어 휴대폰에는 중간 CA 인증서가 많지 않으므로 추가 할 것입니다.

/etc/apache2/cert/ssl.key파일은 yourdomain.com의 인증서에 대한 키를 포함, 인 동일하게 유지됩니다


좋아, 내가 당신을 올바르게 이해했다면 순서대로 다음과 같은 파일을 만들어야합니다. 1) ssl.crt; 2) sub.class1.server.sha2.ca.pem; 3) 무엇? 세 번째 (및 가능한 추가) 장소에 어떤 인증서를 추가해야하는지 설명하십시오.
신경 전달 물질

실제 체인에 따라 다릅니다. 즉, 인증서 서명과 관련된 CA의 수를 의미합니다. 체인은 2 개의 CA로만 구성 될 수 있습니다. 예를 들어 루트 CA와 하나의 중간 CA. 그러나 루트 CA와 둘 이상의 중간 CA로 구성 될 수 있습니다. ssl.crt 파일에는 모든 중간 CA 인증서가 위에서 아래로 포함되어야합니다. 이러한 이유로, 그것은 ssl.crt의 모양에 대한 특정 사례에 전적으로 달려 있습니다.
fholzer

인증서 서명과 관련된 CA를 어떻게 알 수 있습니까?
신경 전달 물질

2
체인을 구축하는 것은 초보자에게는 사소한 것이 아닙니다. 나는 보통 openssl x509 -subject -issuer -noout -in certificate.of.yourdomain.crt발행인을 만나러 달려 갑니다. 나는 다음의 경우에, 내 CA의 웹 사이트에서 발급 인증서를 다운로드 : startssl.com/certs를 . 그런 다음 해당 인증서에서 명령을 실행하십시오. 발급이 제목과 같을 때까지 반복합니다. 즉, 인증서는 자체 서명되어 루트 CA 인증서입니다. 루트 CA 인증서를 제외한 모든 파일을 ssl.crt에 추가하십시오.
fholzer

지원해 주셔서 감사합니다. 체인을 따라 결합 된 인증서를 생성했습니다. 그러나 어떤 이유로 Qualys SSL 테스트에 따르면 내 호스트에 연결하는 클라이언트는 StartCom Class 1 주 중급 서버 CA 를 추가로 다운로드 해야합니다 .이 인증서는 분명히 결합 된 인증서 ( 스크린 샷 )에 포함되어 있습니다. 이상 하네.
신경 전달 물질

1

좋아, 마침내 그것을 최근에 알아 내고 답변 양식에 세부 사항을 게시하기로 결정했습니다.

이제 StartSSL은 인증서를 검색 할 때 zip- 아카이브에 인증서를 저장하며 여기에 포함 된 아카이브가 많이 있습니다. 특히 흥미로운 것은 ApacheServer.zipApache> 2.4 호환 형식입니다. Apache 폴더의 파일은 다음과 같습니다.

1_root_bundle.crt
2_myhost.tld.crt

SSLCertificateFile두 인증서에서 모두 양조해야 하지만 다음 순서로 수행해야합니다.

cat 2_myhost.tld.crt 1_root_bundle.crt > myhost.tld_combined.crt

따라서 사이트 conf에서는 다음과 같습니다.

    SSLCertificateFile    /etc/apache2/cert/myhost.tld_combined.crt
    SSLCertificateKeyFile /etc/apache2/cert/myhost.tld.key

Qualys SSL Test 조차도 모든 것이 좋을 것 입니다.

WoSign 인증서뿐만 아니라 StartCom StartSSL에서도 작동합니다. 형식은 동일합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.