2016-09-08 6 views
1

클라이언트를 인증하기 위해 클라이언트 인증서 인증을 사용하는 기본 웹 사이트에서 웹 응용 프로그램을 보유하고 있습니다. 인증을 위해 클라이언트 인증서와 핸드 셰이 킹에 실패하고 시간 초과 또는 403 오류로 인해 오류가 발생했습니다. - 금지됨 : 액세스가 거부되었습니다. 우리는403 - 금지 및 서버가 너무 많은 인증 기관에서 신뢰도가 너무 높아졌습니다.

클라이언트 인증을 요구,이 서버가 클라이언트에 신뢰할 수있는 인증 기관의 목록을 전송, 시스템 이벤트 로그에 오류가 아래로 발견했다. 클라이언트는이 목록을 사용하여 서버에서 신뢰하는 클라이언트 인증서를 선택합니다. 현재이 서버는 많은 인증서 기관을 신뢰하므로 목록이 너무 길어졌습니다. 따라서이 목록은 잘 렸습니다. 이 컴퓨터의 관리자는 클라이언트 인증을 위해 인증 된 인증 기관을 검토하고 을 신뢰할 필요가없는 인증 기관을 제거해야합니다.

IIS 구성이 우리가 다른 환경에서이 웹 응용 프로그램에 대해 한 일을 많이 비슷, 우리는 인증서 저장소에이 응용 프로그램 에 필요한 다른 검사의 몇 가지 확인 : 우리는 권한이있는 모든 서버 인증서 및 클라이언트 인증서를 검증 계층 구조를 사용할 수 있습니다. 응용 프로그램 인증 : 익명 응용 프로그램 SSL 설정 : 이 ApplicationHost.config를 수락/SSL 필요 : 또한 서비스 매핑 추가 base64로 인증서

내가이 인증 문제가 위의 오류 메시지와 함께 아무 상관이 확실하지 않다 계정 iisClientCertificateMappingAuthentication에서 OnetoOneMapping 가능 이벤트 로그에.

+0

Windows 인증서 저장소 -> LocalMachine -> 신뢰할 수있는 루트 인증 기관과 중간 인증 기관 목록을 확인 했습니까? 그들은 너무 많은 CA를 포함하고 있습니까? – Thuan

답변

0

나는이 영업을 도와 아마 너무 늦었다는 것을 알고 있지만,이 이벤트 로그 메시지와 함께 다른 사람을 위해, 제안 https://www.codit.eu/blog/2013/04/03/troubleshooting-ssl-client-certificate-issue-on-iis/에서이 문제에 잘 구조화 된 후,이 :이

이 문제를 해결하기위한 두 가지 해결책은 다음과 같습니다.

첫 번째 해결 방법은 신뢰할 수있는 루트 인증 기관 저장소 (로컬 컴퓨터)를 정리하고 불필요한 인증서를 모두 제거하는 것입니다. Windows에서 요구하는 인증서는 제거하지 않습니다.

두 번째 해결 방법은 TLS/SSL 핸드 셰이크 프로세스 중에 더 이상 신뢰할 수있는 루트 인증 기관 목록을 보내지 않게 Schannel을 구성하는 것입니다. SendTrustedIssuerList 값 종류 : REG_DWORD 값 데이터 : 0 (거짓)

이것은 컨트롤 \ SecurityProviders \ SCHANNEL

값 이름 \ 웹 서버에 HKEY_LOCAL_MACHINE \ SYSTEM \ CURRENTCONTROLSET을이 레지스트리 항목을 추가하여 수행 할 수 있습니다