openssl 인증서 체인은 어디에서 나오나요?

openssl 인증서 체인은 어디에서 나오나요?

flo2cash.com openssl 링크가 다음을 제공하는지 확인하려고 합니다. openssl s_client -showcerts -connect flo2cash.com:443
CONNECTED(00000003) depth=3 C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root depth=2 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Certification Authority depth=1 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Domain Validation Secure Server CA depth=0 OU = Domain Control Validated, OU = Hosted by FreeParking Ltd, OU = COMODO SSL, CN = flo2cash.com

루트가 "AddTrust 외부 CA 루트"임을 나타냅니다. Chrome과 Firefox는 모두 체인에서 3개 수준만 표시하고, 인증서는 "COMODO RSA 인증 기관"에 루트가 있습니다.

체인의 마지막 인증서를 확인하면 다음과 같은 결과가 나타납니다. subject= /C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority issuer= /C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root notBefore=May 30 10:48:38 2000 GMT notAfter=May 30 10:48:38 2020 GMT

이 인증서는 실제로 매우 오래되었습니다.

내 컴퓨터(최신 버전으로 패치된 Fedora 25)와 브라우저의 CA 번들에서 찾을 수 있는 내용은 다음과 같습니다.

subject= /C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority issuer= /C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority notBefore=Jan 19 00:00:00 2010 GMT notAfter=Jan 18 23:59:59 2038 GMT

그 오래된 인증서는 어딘가에서 왔을 것입니다.

답변1

내 Mint 노트북에는오래된자격증:

$ openssl x509 -noout -subject -issuer -in /usr/share/ca-certificates/mozilla/COMODO_RSA_Certification_Authority.crt 
subject= /C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
issuer= /C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority

openssl s_clientCOMODO RSA Certification Authority위 루트가 서명한 최상위 CA 인증서를 반환합니다.

$ openssl s_client -connect flo2cash.com:443
CONNECTED(00000003)
depth=3 C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root
verify return:1
depth=2 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Certification Authority
verify return:1
depth=1 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Domain Validation Secure Server CA
verify return:1
depth=0 OU = Domain Control Validated, OU = Hosted by FreeParking Ltd, OU = COMODO SSL, CN = flo2cash.com
verify return:1
---

/etc/ca-certificates.conf위의 루트 CA 인증서( mozilla/AddTrust_External_Root.crt) 가 포함된 줄을 편집 하고 선택 취소합니다.

#
# line begins with # is comment.
# line begins with ! is certificate filename to be deselected.
#
mozilla/ACCVRAIZ1.crt
mozilla/ACEDICOM_Root.crt
!mozilla/AC_Raíz_Certicámara_S.A..crt
mozilla/Actalis_Authentication_Root_CA.crt
!mozilla/AddTrust_External_Root.crt
mozilla/AddTrust_Low-Value_Services_Root.crt
mozilla/AddTrust_Public_Services_Root.crt
mozilla/AddTrust_Qualified_Certificates_Root.crt

update-ca-certificates캐시를 다시 작성하려면 실행하세요 .

그 후에는 브라우저에서와 동일한 체인을 얻게 됩니다.

$ openssl s_client -connect flo2cash.com:443 -showcerts
CONNECTED(00000003)
depth=2 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Certification Authority
verify return:1
depth=1 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Domain Validation Secure Server CA
verify return:1
depth=0 OU = Domain Control Validated, OU = Hosted by FreeParking Ltd, OU = COMODO SSL, CN = flo2cash.com
verify return:1
---

클라이언트가 최종 엔터티 인증서에서 루트 CA 인증서까지 구축하는 경로는 클라이언트 내에 프로그래밍된 논리에 따라 달라집니다. 이는 사양에 정의되어 있지 않으므로 각 특정 클라이언트 개발자의 해석에 달려 있습니다.

OpenSSL에서 두 개의 루트 CA 인증서를 활성화하면 표시된 첫 번째 경로가 선택됩니다. 브라우저는 가능하기 때문에 다른 선택을 하게 됩니다.

답변2

어떤 오래된 인증서인가요? 이것다리Comodo RSA 인증 기관 인증서 AddTrust에서 외부 CA 루트는 서버에서 전송됩니다. 이것뿌리AddTrust 외부 인증서시스템의 신뢰 저장소에서 와야 합니다. OpenSSL은 서버에서 수신한 루트를 올바르게 삭제하고 로컬 신뢰 저장소에서 찾은 루트만 신뢰합니다. 저는 Fedora를 사용하지 않지만 CentOS /etc/pki/tls/certs/ca-bundle.crt( ca-certificates아마도 RHEL도 마찬가지) 에 설치했습니다 .

예, 이 AddTrust 루트는 아직 활성화된 이전 CA 루트 중 하나입니다. 브릿지 인증서가 2000-05-30 10:48:38 이전의 상위 인증서와 완벽하게(그리고 비현실적으로) 일치하지는 않지만 서명에 SHA384를 사용하지만 FIPS180-2는 2002년까지는 유효하지 않았습니다. 널리 구현되기는커녕 방금 출시되었습니다. (예를 들어 Windows XP는 2008년 SP3까지 SHA2 서명 인증서를 구현하지 않았습니다.)

Comodo RSA 자체 루트2010-01-19 00:00:00 이전에는 게시되지 않았지만 날짜가 소급되었을 수 있습니다. 그렇지 않으면 한동안 보류되었을 것입니다. 서명에 SHA384도 사용하지만 AIR는 2014년 초(NIST의 두 번째 시도 마감일)까지 사용할 수 없습니다. CABforum과 일부 주요 브라우저가 SHA1에 대해 실제로 불만을 표시하기 시작한 2015년 후반까지는 SHA2 릴리스 및 체인을 시작하지 않았습니다. 이 범위에서 Comodo가 어디에 속하는지는 기억나지 않지만 시간이 지남에 따라 쉽게 추적할 수 있는 신뢰 저장소 중 하나인 Oracle(이전 Sun Java)은 comodorsaca2015년 6월 8u51까지 추가되지 않았습니다. (돌아왔어 addtrustexternalca.적어도2008-06년에 6u7로 업그레이드되었습니다. 그 이전에는 데이터가 없습니다. )

적어도 Comodo 웹사이트의 일부3년 이내에 만료되었음에도 불구하고 AddTrust에 대한 브리지 인증서를 통해 신뢰 체인을 계속 표시하는 것이 정확합니다.

관련 정보