Совсем недавно я узнал, что сервер может использовать сертификацию, чтобы проверить, является ли клиент тем, кем они себя называют. Я знаю, как подписать и включить сертификаты серверов, но как мне заставить сервер проверять, действительна ли сертификация клиента для apache?
Эти основной записи конфигурации, которые вы ищете:
SSLCACertificateFile <path to valid CA certs>
SSLVerifyClient reqiure
SSLVerifyDepth 5
Вам необходимо указать, каким корневым ЦС вы доверяете, установив соответствующие сертификаты ЦС. Если вы используете его внутри компании, вы можете стать своим собственным корневым центром сертификации и использовать его для выдачи клиентских сертификатов своим браузерам. В противном случае вам нужно будет использовать действующий корневой сертификат CA (обычно они входят в комплект или вы можете их загрузить).
Как только это будет сделано, у вас будет дополнительная переменная среды при подключении проверенного клиента с именем SSL_CLIENT_S_DN
и несколько других.
Я ненавижу просто давать ссылки на статью, но это то, что вы ищете? http://it.toolbox.com/blogs/securitymonkey/howto-securing-a-website-with-client-ssl-certificates-11500