Apache 2.4.8 이상에서 SSLCertificateChainFile 사용 중단 경고


14

Network Solutions의 웹 사이트에 대한 SSL 인증서가 있습니다. Apache / OpenSSL을 버전 2.4.9로 업그레이드 한 후 HTTPD를 시작할 때 다음 경고가 표시됩니다.

AH02559: The SSLCertificateChainFile directive (/etc/httpd/conf.d/ssl.conf:105) is deprecated, SSLCertificateFile should be used instead

mod_ssl아파치 매뉴얼에 따르면 이것은 사실입니다.

SSLCertificateChainFile은 더 이상 사용되지 않습니다

SSLCertificateChainFile은 서버 인증서 파일에서 중간 CA 인증서를로드하도록 SSLCertificateFile이 확장되었을 때 버전 2.4.8에서 더 이상 사용되지 않습니다.

설명서 찾고 SSLCertificateFile을 난 그냥 내 전화 교체하는 데 필요한 것처럼, 그것은 보였다 SSLCertificateChainFileSSLCertificateFile을 .

이 변경으로 내 ssl.conf가 다음과 같이 바뀌 었습니다.

SSLCertificateFile /etc/ssl/STAR.EXAMPLE.COM.crt
SSLCertificateKeyFile /etc/ssl/server.key
SSLCertificateChainFile /etc/ssl/Apache_Plesk_Install.txt

이에:

SSLCertificateFile /etc/ssl/STAR.EXAMPLE.COM.crt
SSLCertificateFile /etc/ssl/Apache_Plesk_Install.txt
SSLCertificateKeyFile /etc/ssl/server.key

...하지만 작동하지 않습니다. 아파치는 단순히 오류 메시지없이 시작을 거부합니다.

mod_ssl 또는 SSL 인증서에 익숙하지 않으므로 여기에서 무엇을 시도 해야할지 잘 모르겠습니다. 우리 사이트에 SSL 경고가없는 Internet Explorer 용 Apache_Plesk_Install.txt 파일 을 추가 해야하지만이 외에는 단서가 없습니다.

도움을 주시면 감사하겠습니다. 감사.


6
모든 인증서, 클라이언트 인증서 및 중간 인증서를 연결해야합니다.
dawud

답변:


9

나는 같은 문제가 있었다. 난 그냥이 라인을 교체/etc/apache2/site-enabled/default-ssl.conf

SSLCertificateFile    /etc/ssl/certs/domain.crt
SSLCertificateKeyFile /etc/ssl/private/domain.key
#SSLCertificateChainFile /etc/apache2/ssl.crt/chain.crt

보시다시피 방금 주석을 달았습니다 SSLCertificateChainFile. 그런 다음과 같은 오류를보고, 나는 나의의 내용을 연결된 chain.crt domain.crt과 같이 :

root@host~: cat /etc/apache2/ssl.crt/chain.crt >> /etc/ssl/certs/domain.crt

그리고 그것은 매력처럼 작동했습니다.


apache config의 의견에 따르면 완벽하게 유효합니다. "대체 # 참조 된 파일은 편의상 CA 인증서가 서버 인증서에 직접 추가 될 때 SSLCertificateFile #과 동일 할 수 있습니다."
PeanutPower

6

다음 스크립트를 사용하여 체인 인증서가 포함 된 인증서 번들을 만듭니다.

#!/bin/sh
#
# Convert PEM Certificate to ca-bundle.crt format
#

test ! $1 && printf "Usage: `basename $0` certificate" && exit 1

# Friendly Name and Underline Friendly Name with equal signs
openssl x509 -in $1 -text -noout | sed -e 's/^  *Subject:.*CN=\([^,]*\).*/\1/p;t  c' -e 'd;:c' -e 's/./=/g'
# Output Fingerprint and swap = for :
openssl x509 -in $1 -noout -fingerprint | sed -e 's/=/: /'
# Output PEM Data:
echo 'PEM Data:'
# Output Certificate
openssl x509 -in $1
# Output Certificate text swapping Certificate with Certificate Ingredients
openssl x509 -in $1 -text -noout | sed -e 's/^Certificate:/Certificate Ingredients:/'

서버 인증서부터 시작하여 인증서 체인의 중간 인증서를 통해 루트 인증서로 다시 사용하십시오.

./bundle.sh myserver.crt >myserver.chain
./bundle.sh intermediate.crt >>myserver.chain
./bundle.sh root.crt >>myserver.chain

적절한 인증서 이름이 실제 인증서 이름으로 바뀝니다.


4

SSLCertificateFile 지시문에 의해 지정된 파일에 사이트 인증서, 중간체 및 SSLCertificateKeyFile에 의해 지정된 파일에 개인 키가 연결되어 있고 모두 설정되어 있어야합니다. 인증서와 동일한 파일에 개인 키를 가질 수 있지만 권장하지는 않습니다. 자세한 내용은 설명서를 확인하십시오.
http://httpd.apache.org/docs/current/mod/mod_ssl.html#sslcertificatefile
클라이언트는 인증서 유효성 검사가 설계된대로 작동하려면 신뢰할 수있는 루트 CA 인증서
또한 아파치 오류 로그에 아무것도 없으면 오류 로그를보다 세밀하게 세분화 할 수 있습니다http://httpd.apache.org/docs/current/mod/core.html#loglevel


1
정말? 개인 키? 나쁜 생각 인 것 같습니다. 궁금한 점은 이것이 나의 개인적인 전제이기 때문입니다.
ssl

2
당신이 옳습니다-문서에서 내가 기억 한 것과이 두 지시어에 대한 httpd-ssl.conf 파일에있는 문서가 변경되었습니다. 허용되지만 SSLCertificateFile에 의해 지정된 파일에 개인 키를 갖는 것은 권장되지 않습니다. 이 사실에 맞게 회신이 편집됩니다.
Khanna111
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.