2009-03-30 9 views
6

クライアント証明書を使用してSSL(HTTPS)で動作するWebサービスをPerlで作成しています。 現在の接続でどの証明書がクライアントによって使用されているかを確認するにはどうすれば不要なものを除外できますか?mod_perlで接続が使用しているSSLクライアント証明書を特定するにはどうすればよいですか?

注:Webサービスはmod_perlスクリプトとして実行されています。 PerlMonksの答えが見つかり

+0

これはcgiまたはmod_perlスクリプトですか、リスニングサーバソケットを自分で開くつもりですか? – innaM

+0

これはmod_perlスクリプトになります。私はSOAP :: WSDL :: Server :: Mod_Perl2の使用について考えていました – Sklivvz

答えて

4

Apache::SSLLookup module

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の環境参照hereを使用してください。

関連する問題