신뢰 저장소의 루트 CA로만 SSL 연결 만들기

신뢰 저장소의 루트 CA로만 SSL 연결 만들기

SSL 클라이언트/서버 응용 프로그램이 있습니다.

내 SSL 클라이언트에는 신뢰 저장소에 구성된 루트 인증 기관(rootCA1이라고 함)이 하나만 있습니다.
그러나 내 SSL 서버는 중간 CA(interCA1이라고 부름)가 서명한 인증서를 생성합니다.
중간 CA에는 클라이언트가 신뢰하는 rootCA1이 서명한 인증서(deviceCert라고 함)가 있습니다. SSL 서버는 ssl hello 중에 deviceCert와 함께 interCA1 및 rootCA1의 인증서를 생성합니다.

이제 openssl은 클라이언트 측에서 이러한 연결을 거부합니다.

Openssl은 다음을 확인하여 신뢰 체인을 구축할 수 있어야 합니다.
deviceCert--signed by-->interCA1--signed by-->rootCA1

rootCA1을 신뢰하므로 신뢰 체인이 내 이해에서 볼 수 있습니다.

그렇다면 왜 실패합니까? 클라이언트의 신뢰 저장소에 중간 CA를 구성해야 하는 이유는 무엇입니까?

답변1

중간 CA의 인증서를 모두 구성한 이유는 다음과 같다고 생각합니다.

논의를 위해 신뢰 체인에 루트 CA의 인증서만 있으면 된다고 가정하겠습니다.
그런 다음 클라이언트는 루트 CA가 서명한 모든 인증서는 물론 루트 CA가 인증서를 서명한(또는 루트 CA가 서명한 인증서를 보유하는 다른 중간 CA가 서명한) 다른 중간 CA도 신뢰할 수 있습니다.

이제 어떤 이유로 중간 CA의 개인 키가 손상되면 문제가 됩니다.

따라서 신뢰 저장소에 중간 CA를 구성함으로써 클라이언트는 자신이 서명한 인증서를 신뢰하고 개인 키가 손상되지 않았음을 선언합니다.

물론 CRL이 있지만 이는 하위 주제입니다.

관련 정보