NAME
Apache2::ModSSL - a Perl Interface to mod_ssl functions
SYNOPSIS
use Apache2::ModSSL;
my $c=$r->connection;
if( $c->is_https ) {
$dn=$c->ssl_var_lookup('SSL_SERVER_S_DN');
$nsComment=$c->ssl_ext_lookup(0, '2.16.840.1.113730.1.13');
}
ABSTRACT
Apache2::ModSSL
adds a few functions that are exported from mod_ssl
to the Apache2::Connection
class.
METHODS
- $c->is_https
-
is_https()
returns 1 if the connection is SSL-encrypted, 0 if it is not encrypted but mod_ssl is available in the apache binary orundef
if mod_ssl is not loaded. - $c->ssl_var_lookup(NAME)
-
ssl_var_lookup()
returns the value of an SSL variable. If mod_ssl is not loadedundef
is returned. A query for an unknown variable returns an empty string.For a list of known variables please refer to the mod_ssl documentation or mod_ssl source code (
httpd-2.0.52/modules/ssl/ssl_engine_vars.c
). At the time of this writing this list includes (not complete):- HTTPS
- API_VERSION
- SSL_VERSION_PRODUCT
- SSL_VERSION_INTERFACE
- SSL_VERSION_LIBRARY
- SSL_PROTOCOL
- SSL_SESSION_ID
- SSL_CIPHER
- SSL_CLIENT_CERT_CHAIN_n (where n is a number)
- SSL_CLIENT_VERIFY
- SSL_(CLIENT|SERVER)_M_VERSION
- SSL_(CLIENT|SERVER)_M_SERIAL
- SSL_(CLIENT|SERVER)_V_START
- SSL_(CLIENT|SERVER)_V_END
- SSL_(CLIENT|SERVER)_(S|I)_DN
- SSL_(CLIENT|SERVER)_(S|I)_DN_C
- SSL_(CLIENT|SERVER)_(S|I)_DN_ST
- SSL_(CLIENT|SERVER)_(S|I)_DN_SP
- SSL_(CLIENT|SERVER)_(S|I)_DN_L
- SSL_(CLIENT|SERVER)_(S|I)_DN_O
- SSL_(CLIENT|SERVER)_(S|I)_DN_OU
- SSL_(CLIENT|SERVER)_(S|I)_DN_CN
- SSL_(CLIENT|SERVER)_(S|I)_DN_T
- SSL_(CLIENT|SERVER)_(S|I)_DN_I
- SSL_(CLIENT|SERVER)_(S|I)_DN_G
- SSL_(CLIENT|SERVER)_(S|I)_DN_S
- SSL_(CLIENT|SERVER)_(S|I)_DN_D
- SSL_(CLIENT|SERVER)_(S|I)_DN_UID
- SSL_(CLIENT|SERVER)_(S|I)_DN_Email
- SSL_(CLIENT|SERVER)_A_SIG
- SSL_(CLIENT|SERVER)_A_KEY
- SSL_(CLIENT|SERVER)_CERT
- $c->ssl_ext_lookup(WHERE, OID)
-
ssl_ext_lookup()
returns the value of an SSL certificate extension.WHERE
specifies whether to look in the WEB server certificate (WHERE==0
) or in the client certificate (WHERE==1
).OID
is the Object Identifier for the extension in dotted notation, e.g.2.16.840.1.11330.1.13
forNetscape Comment
or2.5.29.19
forX509v3 Basic Constraints
.
EXPORTS
none.
SEE ALSO
http://perl.apache.org/docs/2.0/api/Apache2/Connection.html, http://httpd.apache.org/docs-2.0/mod/mod_ssl.html
AUTHOR
Torsten Foertsch, <torsten.foertsch@gmx.net>
COPYRIGHT AND LICENSE
Copyright (C) 2004-2008 by Torsten Foertsch
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.