2012-08-01 2 views
3

제 3 자 웹 응용 프로그램을 보유하고 있으며 관리자가 일부 응용 프로그램이 아닌 일부 페이지에 스마트 카드 인증을 추가하고 인증서 정보를 반환하려고합니다. 내가 생각하는 것은이 페이지에 버튼을 추가하는 것이며, onclick 이벤트에서 클라이언트 인증서 인증 (인증서 선택 창이 나타나고 "PIN"창이 표시됨)을 수행하고 추가 처리를 위해 인증서 개체를 반환합니다.클라이언트 인증서를 사용한 스마트 카드 인증

처음에는 클라이언트 인증서 인증을 수행하고 인증서 정보를 반환하는 웹 서비스에 대해 생각했습니다. 이는 다른 웹 응용 프로그램 (다른 플랫폼)에서 웹 서비스를 사용하는 것을 고려할 수 있으므로 좋을 것입니다. 그러나, 나는 이것을 한 코드 예제를 찾을 수 없었다. 그런 다음 IIS solution을 찾았습니다.

이제 클라이언트 인증서가 필요한 별도의 폴더가 생성되었습니다. 버튼 클릭 이벤트에서 해당 페이지로 리디렉션됩니다. 그런 다음 해당 페이지에서 X509Certificate 클래스를 사용하여 인증서 정보를 검색합니다. 나는 이것이 내가하는 일에서 나를 돕는다고 생각하지 않는다. 적어도 그것이 어떻게 도움이되는지는 모른다.

그래서 제 질문은 (긴 배경 설명 죄송합니다)입니다

  1. 어떻게 다시 인증 결과 해당 페이지에서 리디렉션 할 수 있습니다?
  2. 가능하면 IIS와 동일한 방식으로 클라이언트 인증서 인증을 수행하는 웹 서비스를 구축하는 방법에 대한 참조는 무엇입니까?

감사

업데이트 나는 이것을 달성하는 방법에 대한 단서가없는 주변에 아직도 보았다. 웹 서비스의 SSL/TLS 핸드 셰이크 단계 코드 작성 방법을 잘 모르겠습니다. 나는이 함수를 호출하는 페이지로 다시 인증을 반환하는 방법을 모른다. 그래서 지금 내가하려는 것은 클라이언트 인증이 필요한 보호 된 페이지에서 리디렉션하는 것입니다. 웹 서버가 인증 결과를 캐시하는 것 같습니다. 여기 제 3 질문입니다, 누군가가 대답 할 수 있기를 바랍니다.

페이지 세션이 끝날 때마다 인증 결과를 정리하면 페이지가 방문 할 때마다 클라이언트 인증이 요청됩니다 (인증서 선택 창이 나타나고 "PIN"창이 표시됨).

답변

2

응용 프로그램이 IIS에서 호스팅되는 경우 단순히 web.config에 해당 페이지에 클라이언트 인증서가 필요하다는 섹션을 추가하십시오. 그러면 브라우저가 사용자에게 인증서를 요청합니다.

+0

답장을 보내 주셔서 감사합니다. IIS의 해당 폴더에 필요한 SSL 설정을 확인했습니다. 충분하지 않니? – user1541389

+0

클라이언트 시스템 (브라우저 등)이 스마트 카드 인증서를 사용하도록 설정되었다고 가정하면 – pm100

+0

여기에 어떤 일이 일어 났습니까? 제한된 폴더 page1 아래에있는 페이지가 있습니다. page1의 스크립트에서 IIS에서 SSL 설정이 필요한 폴더의 클라이언트 인증서를 요청한 페이지 (page2)로 리디렉션했습니다. 처음 page1을 방문하면 인증서 선택 창이 나타나고 PIN 창이 나타나면 page2가 표시됩니다.그런 다음 창을 닫고 새 인증서를 열고 page1의 주소를 입력하십시오. 인증서 선택 창이 표시되는 이번에는 동일한 인증서를 선택한 후 PIN 창이 표시되면 페이지 2 만 표시됩니다. PIN 창을 항상 트리거하고 싶습니다. – user1541389

1

Windows에는 기본적으로 응용 프로그램이 초기 PIN 프롬프트 후에 제한된 시간 동안 개인 키에 액세스하거나 응용 프로그램이 완전히 닫힐 때까지 개인 키에 액세스 할 수있는 캐싱 기능이 있습니다.

해제하려면이 레지스트리 키를 설정하십시오. (또는 GPO를 사용하십시오)

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Cryptography] 
"PrivKeyCacheMaxItems"=dword:00000000 
"PrivKeyCachePurgeIntervalSeconds"=dword:00000000 
관련 문제