我正在用 Perl 编写一个 Web 服务,它将在带有客户端证书的 SSL (HTTPS) 下运行。如何确定当前连接中客户端正在使用哪个证书,以便过滤掉不需要的证书?
注意:Web 服务作为 mod_perl 脚本运行。
我正在用 Perl 编写一个 Web 服务,它将在带有客户端证书的 SSL (HTTPS) 下运行。如何确定当前连接中客户端正在使用哪个证书,以便过滤掉不需要的证书?
注意:Web 服务作为 mod_perl 脚本运行。
在PerlMonks上找到答案:
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 环境参考这里。