openSSL 키 및 인증서

openSSL 키 및 인증서

내가 아는 한, 인증된 SSL 연결에서는 클라이언트와 서버 모두 개인 키를 가지며 보안 연결을 설정하기 전에 연결을 통해 인증서(및 해당 공개 키)를 제공합니다.

그런데 서버와 클라이언트에서 이러한 인증서와 키를 사용하는 정상적인 openSSL 연결이 있는데, openssl 명령으로 생성된 클라이언트 키/공개 키가 서버 개인 키와 다른 CA에서 생성된 경우에는 좀 혼란스럽습니다. , 그러면 연결이 발생해서는 안 되지만, openSSL을 사용하려는 실험에서는 연결되지 않았습니다.

놀랍지 않나요? 일반적으로 CA마다 클라이언트측과 서버측에 서로 다른 키 세트가 있습니까? openSSL은 각 세션에 대해 동적으로 키 쌍을 생성하며 클라이언트에 종속되지 않습니까? 이러한 키/인증서가 서버 및 클라이언트 측에서 어떻게 작동하는지, 그리고 이러한 키와 인증서 사이에 어떤 종류의 관계/종속성이 있는지 아는 사람이 있습니까?

답변1

요구 사항 없음인증 경로서버 인증과 클라이언트 인증은 동일합니다.

서버 인증을 위해 해야 할 일은 다음과 같습니다.섬기는 사람트러스트 앵커(실제로는 클라이언트의 트러스트 저장소에 저장된 루트 CA 인증서)에 연결된 인증서(및 모든 하위/중간 CA 인증서)를 제공합니다.고객신뢰하다. 이제 클라이언트는 서버를 신뢰합니다.

마찬가지로 클라이언트 인증을 위해고객트러스트 앵커(역시 루트 CA 인증서)에 연결된 인증서(및 모든 하위/중간 CA 인증서)를 제공해야 합니다.섬기는 사람신뢰하다. 이제 서버는 클라이언트를 신뢰합니다.

두 개의 트러스트 앵커가 동일할 필요는 없으며 이해관계자의 신뢰를 받기만 하면 됩니다.

관련 정보