Как определить, какой SSL-сертификат клиента используется подключением в mod_perl?
Я пишу веб-сервис на Perl, который будет работать по протоколу SSL (HTTPS) с клиентскими сертификатами. Как я могу определить, какой сертификат используется клиентом в текущем соединении, чтобы я мог отфильтровать нежелательные?
Примечание: веб-сервис запускается как скрипт mod_perl.
1 ответ
Решение
Нашел ответ на PerlMonks:
Используйте модуль Apache::SSLLookup
sub handler {
my $r = Apache::SSLLookup->new(shift);
my $request_is_over_ssl = $r->is_https;
my $certificate = $r->lookup_var('SSL_CLIENT_CERT');
...
}
Ссылка на среду mod_ssl здесь.