2012-10-25 3 views
3

클라이언트 인증서가 필요한 SSL 웹 사이트를 호스팅하는 W2K8 R2 SP1 서버가 있습니다. 로컬 시스템의 신뢰할 수있는 CA 저장소에 저장된 루트 인증서 (자체 서명 됨)가 있습니다. 클라이언트에서 브라우저는 클라이언트 인증서를 요청하고 제대로 작동합니다.신뢰할 수있는 CA의 인증서가 클라이언트에서 서버로 반환되지 않음

이제 로컬 시스템의 신뢰할 수있는 CA 저장소에도 저장되는 다른 루트 인증서가 있습니다. 문제는 브라우저가이 루트 CA에서 발급 한 클라이언트 인증서를 선택하도록 제안하지 않는다는 것입니다.

브라우저가 프롬프트하지 않는 이유는 신뢰할 수있는 루트 CA 목록을 클라이언트에 반환하여 선택할 클라이언트 인증서 목록을 제한 할 수 있도록 서버를 구성한다는 것입니다 (기본 옵션). 이 목록 (HKLM/system/currentcontrolset/control/securityproviders/schannel/sendtrustedissuerlist = 0)을 제공하지 않도록 서버를 구성하면 브라우저가 모든 클라이언트 인증서를 단서 및 표시하지 않고 제대로 작동합니다.

신뢰할 수있는 CA 목록이 너무 길어서 클라이언트에게 반환 될 때 잘렸으므로 여기에 문제가 발생했지만 여기서는 맞지 않습니다. 단 8 개의 신뢰할 수있는 CA 만 반환됩니다.

또 다른 (매우 비슷한) 서버에이 새로운 루트 CA를 등록하면 정상적으로 작동하며 반환 된 신뢰할 수있는 목록에 새 CA가 포함됩니다.

나는 왜이 특정 서버가 SSL 협상 중에 목록에서 내 루트 CA를 반환하지 않는지 실마리가났습니다. 누군가 도와 주시겠습니까 ???

"사용 된 신뢰할 수있는 루트 Certifictation 당국 저장소가 포함되어있는 경우 :이 당신을 도와줍니다 그렇지하지만 마이크로 소프트과 윈도우 서버 2012 설명서 문제에 따라 사람이 관련이있을 것으로 보인다 경우

답변

3

확실하지 않음 루트 (자체 서명)와 인증 기관 (CA) 발급자 인증서가 혼합되어 있으면 기본적으로 CA 발급자 인증서 만 서버로 전송됩니다. "

"인증서 신뢰 목록"(CTL)에 대해 다른 저장소를 사용할 수 있습니다. "클라이언트 인증 발급자"저장소가 먼저 검사되고 사용되고 (Windows Server 2012에서는 기본적으로) "신뢰할 수있는 루트 인증 기관"저장소가 비어있는 경우.

2012 년에 CTL 저장소를 수동으로 구성 할 수는 있었지만 2008 R2에 해당 옵션이 있다고 생각하지 않습니다 (실수일지도 모르겠지만).

관련 문제