Можно ли настроить Apache или какой-либо другой веб-сервер для использования какой-либо аутентификации с открытым ключом?
В идеале я хотел бы иметь возможность предоставлять пользователям доступ к сайту без необходимости вводить имя пользователя / пароль, при условии, что они установили ключевой файл (или аналогичный) в своем браузере и что этот ключ `` авторизован '' на стороне сервера.
То, что вы ищете, обычно называют взаимной аутентификацией. Обычно сертификат сервера существует для «аутентификации сервера», что означает, что он подтверждает идентичность сервера для клиента.
Обратите внимание, что при использовании этой схемы у вас возникает дополнительная проблема с обновлением сертификата для клиентов.
Вот пример того, как это делается для одного продукта:
SSL является аутентификация с открытым ключом. Чаще всего он используется для проверки подлинности удаленного сервера ... сервер представляет сертификат, подписанный закрытым ключом центра сертификации, и ваш браузер проверяет его по общему ключу центра.
Также возможно использовать SSL для аутентификации личности клиента. В этом случае вы настраиваете свой браузер так, чтобы он отображал сертификат клиента при подключении к удаленному серверу, и удаленный сервер будет аутентифицировать сертификат против какого-либо органа.
Все это относительно просто и хорошо поддерживается большинством веб-серверов. Этот документ обсуждает настройку с Apache. В SSLRequire Заявление делает большую часть тяжелой работы для такого рода конфигурации.