<short>listens on separate sockets for TLS connections (https) using OpenSSL</short>
<setupname="openssl">
<short>setup a TLS socket</short>
<parametername="options">
<table>
<entryname="listen">
<short>(mandatory) the socket address to listen on (same as "listen":plugin_core.html#plugin_core__setup_listen), can be specified more than once to setup multiple sockets with the same options</short>
</entry>
<entryname="pemfile">
<short>(mandatory) file containing the private key, certificate and (optionally) intermediate certificates (the root certificate is usually not included)</short>
</entry>
<entryname="ca-file">
<short>file containing the intermediate certificates</short>
<short>file containing client CA certificates (to verify client certificates)</short>
</entry>
</table>
</parameter>
<description>
<textile>
For @ciphers@ see OpenSSL "ciphers":http://www.openssl.org/docs/apps/ciphers.html string
For @options@ see "options":https://www.openssl.org/docs/ssl/SSL_CTX_set_options.html. Explicitly specify the reverse flag by toggling the "NO_" prefix to override defaults.
</textile>
</description>
<exampletitle="Simple TLS on IPv4 and IPv6">
<config>
setup {
module_load "mod_openssl";
openssl [
"listen" => "0.0.0.0:443",
"listen" => "[::]:443",
"pemfile" => "/etc/certs/lighttpd.pem",
"options" => ["NO_SSLv3"],
];
}
</config>
</example>
<exampletitle="TLS with client certificate verification">
<config>
setup {
module_load "mod_openssl";
openssl (
"listen" => "0.0.0.0:443",
"listen" => "[::]:443",
"pemfile" => "/etc/certs/lighttpd.pem",
"client-ca-file" => "/etc/certs/myCA.pem",
"verify" => true,
"verify-require" => true
);
}
</config>
</example>
<exampletitle="TLS with any client certificate">
<config>
setup {
module_load "mod_openssl";
openssl (
"listen" => "0.0.0.0:443",
"listen" => "[::]:443",
"pemfile" => "/etc/certs/lighttpd.pem",
"verify" => true,
"verify-any" => true,
"verify-depth" => 9
);
}
openssl.setenv "client-cert";
</config>
</example>
</setup>
<actionname="openssl.setenv">
<short>set SSL environment strings</short>
<parametername="list">
<short>list of subsets to export</short>
</parameter>
<description>
<textile>
Supported subsets:
* "client" - set @SSL_CLIENT_S_DN_@ short-named entries
* "client-cert" - set @SSL_CLIENT_CERT@ to client certificate PEM
* "server" - set @SSL_SERVER_S_DN_@ short-named entries
* "server-cert" - set @SSL_SERVER_CERT@ to server certificate PEM