2011-09-26 6 views
0

많은 국가에서 시민들이 은행 같은 온라인 시설에 안전하게 액세스하는 데 사용할 수있는 전자 ID 카드를 구현했습니다.웹 사이트에서 스마트 카드에 액세스

이 카드를 지원하는 방법을 배우는 데 관심이 있습니다. 그러나 IIS 호스팅 웹 사이트에서이 작업을 수행하는 방법에 대한 문서를 추적하는 것은 실제 PITA입니다. 예를 들어 MSDN에서는 대량의 스마트 카드 문서가 엔드 투 엔드 시나리오를 다루고 있습니다 기업 환경에서 도메인 로그인에 스마트 카드를 연결하는 방법에 대해 설명합니다.

난 그냥 보유자 인증을 시도하고있다 - 예를 들어, 스페인 DNI-e 카드와 http://ocsp.dnie.es/

이제 통해 카드의 OSCP 유효성 검사를 수행, 그것 보인다, 그 명시 적으로 스마트 카드 삽입을 감지하기보다는, SSL 클라이언트 인증을 강제로 사용하여 서버에 로그인 페이지를 만들어야합니다.하지만 SSL 클라이언트 인증을 요구하고 올바른 클라이언트 인증서를 선택하는 요청 하나를 어떻게 구성합니까?

답변

1

실제로 클라이언트 인증서 인증을 요구하도록 서버를 구성하십시오. 헤더에 클라이언트 인증 자 세부 사항을 수신합니다.

서버에서 클라이언트 인증서의 공개 루트 인증서를 구성하고 관심이없는 다른 인증서를 모두 제거하여 특정 인증서 만 수락하도록 할 수 있습니다. 서버에서 브라우저로가는 인증 요청에서 서버 시스템에서 신뢰할 수있는 루트 인증서가 나열됩니다. 클라이언트 브라우저는 그 루트와 어떻게 든 관련이있는 클라이언트 인증서만을 제공합니다.

+0

이것은 분명히 원하지 않는 대답입니다. 특정 인증서 만 수락하도록 IIS에 알려주는 방법이 없습니다 (적어도 <= v7.5 이상). 이로 인해 사용자가 우연히 잘못된 인증서를 쉽게 선택할 수 있고, 브라우저가 SSL 클라이언트 인증서 요청의 결과를 적극적으로 캐싱하는 것 같아서 후속 요청이 잘못된 인증서를 계속 사용하기 때문에 사용자 경험이 이상적이지 않습니다. –

+0

신뢰할 수있는 루트에있는 해당 인증서의 루트를 제공하고 나머지를 제거하여 원하는 인증서를 강제로 만드는 것에 대한 제안을 시도 했습니까? 또는 귀하의 상황에 맞지 않습니까? – kroonwijk

+0

그 해결책은 효과가 있지만, 더 세밀한 제어를 선호했을 것입니다. 신뢰할 수있는 루트 시스템에 인증서를 추가하면 웹 서버의 * Ever * 응용 프로그램이 다소 임의의 ID 공급자를 신뢰하게됩니다. –

0

Microsoft 환경에서는 로그인 페이지에 SSL을 요구하도록 IIS를 구성해야합니다. 또한 인증서를 사용하여 SSL 클라이언트 인증이 필요합니다.

관련 문제