2016-07-27 2 views
0

서버 전용 인증에서 SSL/TLS를 올바르게 이해하면 핸드 셰이크 후에 서버가 클라이언트에 공개 키와 CA가 서명 한 디지털 서명 된 인증서를 보냅니다. 클라이언트에이 CA의 공개 키가 있으면 인증서를 해독하고 서버와의 신뢰를 설정할 수 있습니다. CA를 신뢰하지 않으면 통신이 중지됩니다. 클라이언트가 서버로 다시 인증해야하는 양방향 SSL에서 클라이언트가 공개 키와 디지털 서명 된 인증서를받은 후 클라이언트는 공개 키와 디지털 서명 된 인증서를 통해 서버를 보냅니다. 서버는 클라이언트의 인증서에 공개 키가 있는지 확인하고 인증서가 클라이언트와의 신뢰를 설정할 수 있는지 확인합니다. 웹 로직 서버 [이 경우 클라이언트, 웹 서비스 아웃 바운드 호출]에서 상호 인증 [2 way SSL]을 설정하고 제 3자가 디지털 서명 한 인증서와 인증서 체인을 보냈습니다. 왜 내가 이것들을 필요로 하느냐. 핸드 셰이크 후에 서버가 응답하지 않습니까?양방향 SSL/TLS 구성

답변

0

서버는 클라이언트에게 공개 키와 CA가 서명 한 디지털 서명 된 인증서를 보냅니다.

인증서에 공개 키가 포함되어 있습니다. 열쇠는 여분으로 보내지지 않습니다.

클라이언트가이 CA의 공개 키를 가지고 있다면, 그것은 인증서

인증서가 암호화되지 않은 암호를 해독 할 수 있습니다, 그것은 CA에 의해 서명 따라서 암호 해독은 수행되지 않지만 클라이언트가 CA의 인증서 (따라서 공개 키)를 가지고 있으면 클라이언트는이 서명을 확인할 수 있습니다. 그러나 일반적으로 인증서는 브라우저에서 신뢰하는 CA가 직접 서명하지는 않지만 중간 인증서가 있습니다. 이 경우 서버는 서버 인증서뿐만 아니라 trust chain을 빌드하는 데 필요한 모든 중간 인증서도 전송합니다.

클라이언트는 공개 키와 디지털 서명 된 인증서를 통해 서버를 보냅니다.

다시 공개 키는 인증서의 일부입니다.

제 3자가 디지털 서명 한 인증서와 인증서 체인을 보냈습니다. 왜 내가 이것들을 필요로 하느냐.

첫 번째 인증서는 클라이언트 인증서입니다. 서버가 클라이언트 인증서의 발급자 CA를 직접 신뢰하지 않고 중간 인증서가 필요하기 때문에 체인 인증서는 trust chain을 작성하는 데 필요합니다.

+0

Steffen에게 감사드립니다. 인증서가 어떻게 처리되었는지 오해 한 것 같습니다. 서버가 핸드 셰이크의 일부로 인증서 [서버 및 중간]을 클라이언트에 보내는 경우 제 3자가 보낸 인증서가 왜 필요합니까? 신뢰를 쌓기 위해 신뢰 저장소에 들어갈 필요가 있습니까? 그렇다면 핸드 셰이크를 통해 전송되는 경우 왜 저장해야합니까? 도와 주셔서 감사합니다. –

+0

@BartStough : 서버가 서버 인증서와 일치하는 인증서와 체인을 클라이언트에 보냅니다. 클라이언트는 인증서와 클라이언트 인증서와 일치하는 체인을 서버에 보냅니다. 이들은 서로 다른 사슬이 될 수 있습니다. –