1

다음 웹 사례를 사용하고 있습니다. 사용자가 사용하는 일반적인 브라우저는 Chrome입니다.크롬 디지털 인증서

사용자가 카드 판독기에 삽입하는 암호화 카드가있는 디지털 인증서를 사용합니다.

기본적으로 사용자는 응용 프로그램에 로그인하기 위해 인증서 데이터를 읽는 https 링크에 액세스합니다.

지금까지 모든 것이 잘 작동합니다.

사용자가 응용 프로그램 세션을 종료하면 브라우저가 닫히지 만 문제는 없습니다. 모든 게 끝났어.

하지만 사용자가 모든 브라우저 창을 닫지 않고 애플리케이션 세션을 종료하려면 여기에 문제가 있습니다.

응용 프로그램의 세션을 닫는 버튼이 있습니다. 사용자는 나가서 초기 로그인 화면으로 리디렉션합니다. 사용자가 떠나기 때문에 모든 것이 재설정 된 것처럼 보입니다. 그러나 새 사용자가 로그인하여 인증서 데이터를 읽으려는 경우 새 카드를 새로 읽는 대신 핀에 액세스하도록 요청하지 않고 이전 카드의 데이터를 사용하십시오.

예를 들어 사용자가 카드, 카드를 잊어 버리고 로그화하려고하면 인증서를 읽지 못하는 등의 문제가 더 진행됩니다. 그러나 이제 제대로 삽입되었지만 브라우저가 다시 시작될 때까지는 카드를 다시 읽을 수 없으며 인증서가없는 캐시를 유지 관리합니다.

현재 모든 Chrome 창을 닫음으로써 해결책이 발견되었지만 사용자의 여부에 달려 있습니다.

부분적인 해결책은 javascript()로 브라우저를 닫아야하지만 잠시 동안 사이트 자체에서 열 수없는 창인 javascript (window.close())로 닫을 수는 없으며, 사용할 수있는 것들로 내가 배제했다고 생각합니다

누군가 저에게 기여할 수 있습니까? 감사합니다

답변

0

크롬 및 나머지 브라우저는 수행 된 SSL 인증 캐시를 유지하고 사용자에게 인증서 선택을 요청할시기를 결정합니다. "로그 아웃"기능은 없으며 TLS 재개 프로토콜 (클라이언트가 세션을 다시 시작할 수 있음)으로 인해 서버 측에서 연결을 닫을 수 없습니다.

클라이언트 인증서를 사용하여 인증 시스템을 정의 할 때 공통적으로 알려진 이슈입니다. 난 단지 해결 방법을 발견했다 :

login.domain.com 
    -->login1.domain.com 
    -->login2.domain.com 

    -->loginN.domain.com 

당신은 임의의 loginN.domain.com에 당신이 인증을 필요로 할 때마다 사용자의 브라우저를 리디렉션 가상 인증 URL login.domain.com 있습니다 인증서을 선택하는 브라우저를 강제로 다른 도메인을 사용합니다. Chrome은 도메인이 다르다는 것을 감지하고 사용자가 인증서를 선택하라는 메시지를 표시합니다.

다른 DNS 대신 다른 포트를 사용하는 방법에 대해 생각할 수도 있지만, 다른 DNS를 사용하는 대신 방화벽을 사용하지 않아도 이 경우 Firefox는 창을 표시하지 않습니다.

+0

감사합니다. 도메인을 변경할 수는 없습니다. –