Спасибо за совет — все оказалось проще, но от разработки модуля я в данный момент уже не могу отказаться, буду реализовывать проверку в модуле и добавлять какой-то дополнительный функционал - поддержку отменённых сертификатов (revocation lists), к примеру.<br>
<br>Подкажите, пожалуйста, как реализовать проверку сертификата в модуле.<br><br><div class="gmail_quote">2009/5/30 Sergey Shepelev <span dir="ltr"><<a href="mailto:temotor@gmail.com">temotor@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">ssl_client_verifty on;<br>
<br>
# клиентам с Common Name=test-client-1 в сертификате запрещаем доступ<br>
к урлам /dir<br>
location /dir {<br>
if ($ssl_client_s_dn ~ "/CN=test-client-1/") { return 403; }<br>
}<br>
<br>
# клиентам с Common Name=client-2 в сертификате редиректим /lemus на /dir<br>
location /lemus {<br>
if ($ssl_client_s_dn ~ "/CN=client-2/") { rewrite ^ /dir/; }<br>
}<br>
<br>
2009/5/30 Alexander Sidukov <<a href="mailto:alexander.sidukov@gmail.com">alexander.sidukov@gmail.com</a>>:<br>
<div><div></div><div class="h5">> Я пишу дипломную работу, в её рамках необходимо разработать модуль, который<br>
> может авторизовать пользователей используя клиентские SSL сертификаты, и<br>
> накладывать соответствующие ограничения на доступность директорий (к<br>
> примеру), в зависимости от параметров клиентского сертификата (скажем, от<br>
> Common Name).<br>
><br>
> Могли бы вы посоветовать как я могу реализовать и обеспечить вызов функции<br>
> (verify_callback), используемой для проверки сертификата в<br>
> SSL_CTX_set_verify() в своем модуле?<br>
><br>
> Пока есть две идеи: Первая, более «правильная» — «достучаться» из модуля до<br>
> ssl контекста соединения и вызывать для него SSL_CTX_set_verify с функцией в<br>
> модуле, вторая — менять сам код модуля ngx_http_ssl_module.<br>
</div></div></blockquote></div><br>