https 전화/서버 핸드셰이크를 위해 httpd를 사용하여 Apache의 VirtualHost에 CA 2개 포함

https 전화/서버 핸드셰이크를 위해 httpd를 사용하여 Apache의 VirtualHost에 CA 2개 포함

godaddy에서 서버 인증서를 로드하려고 하므로 xxxxxxx.crt와 Bundle.crt가 있어야 합니다. 인증서를 만드는 데 사용한 키/csr을 만들었습니다. 우리가 사용하고 있는 전화기가 서버와 핸드셰이크해야 하기 때문에 이제 다른 인증서를 로드하려고 합니다. 그런 다음 안전하게 프로비저닝할 제조업체 CA를 검색해야 합니다.

내 초기 구성은 다음과 같습니다.

<VirtualHost ip.ip.ip.ip:443>
    JkMount /* worker1
    JkMount / worker1

    ServerAdmin [email protected]
    ServerName identifier.server.domain.co.uk

    SSLEngine on
    SSLVerifyClient require

    SSLCertificateFile /path/path/XXXXXXXXxxxxxxx.crt
    SSLCACertificateFile /path/path/gd_bundle-g2.crt
    SSLCertificateKeyFile /path/path/polycom.key

    SSLCertificateFile /path/path/Polycom_Root_CA.crt

    SSLVerifyDepth 10
    SSLOptions +ExportCertData

    ErrorLog logs/identifier.server.domain.co.uk-error_log
    CustomLog logs/identifier.server.domain.co.uk-access_log common
</VirtualHost>

Polycom 인증서를 주석 처리하면 오류 없이 httpd를 다시 시작할 수 있지만 이를 포함하려고 하면 다시 시작이 중단됩니다. 제가 엄청나게 멍청한 짓을 하고 있는 건가요, 아니면 인증서를 함께 연결해야 하는 건가요?

답변1

단일 가상 호스트에 두 개의 인증서를 로드할 수 없습니다. 그것은 말도 안돼

규칙은 가상 호스트당 하나의 x509 인증서입니다.

인증서에 서명한 체인에 CA를 추가하려면 단일 SSLCACertificateFile에 CA를 추가하면 됩니다.

또한 2.4에서는 SSLCACertificateFile을 건너뛰고 리프에서 루트까지 SSLCertificateFile의 모든 인증서 체인을 추가할 수 있습니다.

답변2

Polycom CA 파일을 DER 대신 PEM으로 형식화하고 이를 SSLCACertificateFile로 만들고 변경하여 인식된 문제를 해결했습니다.

SSLCertificateChainFile /path/path/gd_bundle-g2.crt

이제 전화에서 서버로 긍정적인 핸드셰이크가 이루어지고 보안 패킷이 전달됩니다.

관련 정보