Мои веб-пользователи могут дополнительно использовать сертификат смарт-карты, чтобы идентифицировать себя через Firefox на моем веб-сервере, на котором запущен Apache httpd 2.4.
Для этого я использую SSLVerifyClient optional
плюс за скорость SSLSessionCache
и SSLSessionCacheTimeout
Иногда пользователь забывал вставить свою смарт-карту. Затем он успешно создает TLS-соединение и видит некоторый контент, но не входит в систему. Если он теперь вводит свою смарт-карту и перезагружает страницу, браузер не пытается отправить сертификат со смарт-карты. (Я думаю, потому что в этом нет необходимости, потому что существует действующий SSL-сеанс, и поэтому повторное согласование не начинается.) Если пользователь ждет, пока время SSLSessionCacheTimeout не истечет, браузер отправит сертификат ....
Итак, вопрос: как заставить браузер / сервер пересмотреть сеанс SSL? Есть уловка?
Трюк со вторым сервером работает: если я помещаю на свой сервер ссылку «Щелкните здесь, чтобы выполнить новую попытку входа», которая переводит пользователя на другой сервер (без SSLSessionCache), который требует сертификата, и этот сервер устанавливает cookie и перенаправляет обратно на мой исходный сервер, я могу использовать этот файл cookie, чтобы увидеть, что это зарегистрированный пользователь. Но я надеюсь, что есть способ получше ...
Любые идеи?