GoDaddy SHA2 SSL 인증서를 확인하기 위해 내장 CA 번들을 사용할 수 없습니다.

GoDaddy SHA2 SSL 인증서를 확인하기 위해 내장 CA 번들을 사용할 수 없습니다.

흥미로운 문제에 부딪혔습니다. LTL 배송업체에 연락하는 PHP 스크립트가 있습니다(https://facts.dohrn.com/). SSL 인증서의 유효성을 검사할 수 없기 때문에 해당 스크립트가 실패했습니다. 사이트에 가서 GoDaddy SHA2 인증서를 사용하고 있음을 발견했습니다(GoDaddy 인증서 번들 - G2, 이는 SHA2에 사용되는 것입니다).

최신 버전이 ca-certificate설치되어 있는데 다음과 같습니다.Go Daddy 루트 인증 기관 - G2하지만 그것은 같은 것이 아니며 모든 형태의 검증에서 실패합니다. 번들을 복사하고 CURL 요청에서 직접 사용하여 마침내 작동하게 할 수 있었습니다. 그러나 이는 단순히 해결 방법일 뿐입니다. CA를 직접 설치하지 않고도 이 작업을 수행할 수 있도록 제가 놓친 다른 것이 있습니까?

# openssl s_client -connectfacts.dohrn.com:443
CONNECTED(00000003) 깊이=0 OU = 도메인 제어 검증됨, CN =facts.dohrn.com 확인
오류:num=20:로컬 발급자 인증서를 가져올 수 없음 확인 반환:1
깊이 =0 OU = 도메인 제어 검증됨, CN =facts.dohrn.com 검증
오류:num=27:신뢰할 수 없는 인증서 검증 반환:1 깊이=0 OU =
도메인 제어 검증됨, CN =facts.dohrn.com 검증
오류:num= 21: 첫 번째 인증서 확인 반환을 확인할 수 없습니다:1
--- 인증서 체인 0 s:/OU=Domain Control Validated/CN=facts.dohrn.com
i:/C=US/ST=Arizona/L=Scottsdale/O =GoDaddy.com,
Inc./OU= http://certs.godaddy.com/repository//CN=Go Daddy Secure
Certificate Authority - G2
--- 서버 인증서 [인증서 제거됨]
-----END CERTIFICATE-----
제목=/OU=검증된 도메인 제어/CN= 사실.dohrn.com
발급자=/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com,
Inc./OU= http://certs.godaddy.com/repository//CN=Go Daddy Secure
Certificate Authority - G2
--- 클라이언트 인증서 CA 이름이 전송되지 않음
-- - SSL 핸드셰이크는 1470바이트를 읽고 563바이트를 썼습니다.
--- 신규, TLSv1/SSLv3, 암호는 RC4-SHA입니다. 서버 공개 키는 2048비트입니다. 보안 재협상은 지원되지 않습니다. 압축: 없음 확장:
없음 SSL 세션:
프로토콜: TLSv1
암호 : RC4-SHA
세션 ID: 1A23000017A7003411F3833970B7FA23C6D782E663CE0C8B17DE4D5A15DEE1A5
세션 ID-ctx:
마스터 키: F6C9C6345A09B7965AF762DE4BEFE8BDD249136BF3 0D9364598D78CF123F17230B0C25DD552F103BEF9A893F75EAD2B0
Key-Arg : 없음
Krb5 주체: 없음
PSK ID: 없음
PSK ID 힌트: 없음
시작 시간: 1432044402
시간 초과: 300(초)
반환 확인 코드: 21 (첫 번째 인증서를 확인할 수 없음)

답변1

웹 서버는 다음과 같습니다.https://facts.dohrn.com/중간 인증서는 포함되지 않습니다.

이는 해당 업체의 구성 실수로 보입니다. 실제로는 사전에 루트 인증서가 있는 클라이언트에만 의존해야 하므로 호환성 문제가 발생할 수 있음은 분명합니다.

예를 들어 인증서 체인을 확인하세요.SSLLabs 결과: (SSL 설정에는 다른 많은 문제가 있다는 점도 알게 될 것입니다.)

1   Sent by server  facts.dohrn.com 
Fingerprint: 823e3a70f194c646498b2591069b3727ad0014d9 
RSA 2048 bits (e 65537) / SHA256withRSA

2   Extra download  Go Daddy Secure Certificate Authority - G2 
Fingerprint: 27ac9369faf25207bb2627cefaccbe4ef9c319b8 
RSA 2048 bits (e 65537) / SHA256withRSA

3   In trust store  Go Daddy Root Certificate Authority - G2   Self-signed  
Fingerprint: 47beabc922eae80e78783462a79f45c254fde68b 
RSA 2048 bits (e 65537) / SHA256withRSA


귀하의 주요 옵션은 서비스 제공업체가 서비스를 수정하도록 설득하거나 서버가 제공할 것으로 예상되는 인증서를 클라이언트에 제공하여 귀하 측에서 문제를 해결하도록 하는 것입니다.

관련 정보