mod_session_crypto.html.en revision e487d6c09669296f94a5190cc34586a98e624a00
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<?xml version="1.0" encoding="ISO-8859-1"?>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin This file is generated from xml source: DO NOT EDIT
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin -->
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<title>mod_session_crypto - Apache HTTP Server</title>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="/style/css/prettify.css" />
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen<script src="/style/scripts/prettify.js" type="text/javascript">
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen</script>
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<link href="/images/favicon.ico" rel="shortcut icon" /></head>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<body>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<div id="page-header">
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="/faq/">FAQ</a> | <a href="/glossary.html">Glossary</a> | <a href="/sitemap.html">Sitemap</a></p>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<p class="apache">Apache HTTP Server Version 2.5</p>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<img alt="" src="/images/feather.gif" /></div>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<div id="path">
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.5</a> &gt; <a href="./">Modules</a></div>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<div id="page-content">
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<div id="preamble"><h1>Apache Module mod_session_crypto</h1>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<div class="toplang">
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<p><span>Available Languages: </span><a href="/en/mod/mod_session_crypto.html" title="English">&nbsp;en&nbsp;</a></p>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin</div>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Session encryption support</td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Experimental</td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="module-dict.html#ModuleIdentifier">Module�Identifier:</a></th><td>session_crypto_module</td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="module-dict.html#SourceFile">Source�File:</a></th><td>mod_session_crypto.c</td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3 and later</td></tr></table>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<h3>Summary</h3>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <div class="warning"><h3>Warning</h3>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <p>The session modules make use of HTTP cookies, and as such can fall
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin victim to Cross Site Scripting attacks, or expose potentially private
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin information to clients. Please ensure that the relevant risks have
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin been taken into account before enabling the session functionality on
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin your server.</p>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin </div>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <p>This submodule of <code class="module"><a href="/mod/mod_session.html">mod_session</a></code> provides support for the
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin encryption of user sessions before being written to a local database, or
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin written to a remote browser via an HTTP cookie.</p>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <p>This can help provide privacy to user sessions where the contents of
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin the session should be kept private from the user, or where protection is
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin needed against the effects of cross site scripting attacks.</p>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <p>For more details on the session interface, see the documentation for
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin the <code class="module"><a href="/mod/mod_session.html">mod_session</a></code> module.</p>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin</div>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<div id="quickview"><h3 class="directives">Directives</h3>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<ul id="toc">
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<li><img alt="" src="/images/down.gif" /> <a href="#sessioncryptocipher">SessionCryptoCipher</a></li>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<li><img alt="" src="/images/down.gif" /> <a href="#sessioncryptodriver">SessionCryptoDriver</a></li>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<li><img alt="" src="/images/down.gif" /> <a href="#sessioncryptopassphrase">SessionCryptoPassphrase</a></li>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<li><img alt="" src="/images/down.gif" /> <a href="#sessioncryptopassphrasefile">SessionCryptoPassphraseFile</a></li>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin</ul>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<h3>Topics</h3>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<ul id="topics">
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<li><img alt="" src="/images/down.gif" /> <a href="#basicusage">Basic Usage</a></li>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin</ul><h3>See also</h3>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<ul class="seealso">
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<li><code class="module"><a href="/mod/mod_session.html">mod_session</a></code></li>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<li><code class="module"><a href="/mod/mod_session_cookie.html">mod_session_cookie</a></code></li>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<li><code class="module"><a href="/mod/mod_session_dbd.html">mod_session_dbd</a></code></li>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin</ul></div>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<div class="section">
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<h2><a name="basicusage" id="basicusage">Basic Usage</a></h2>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <p>To create a simple encrypted session and store it in a cookie called
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <var>session</var>, configure the session as follows:</p>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <div class="example"><h3>Browser based encrypted session</h3><pre class="prettyprint lang-config">
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrinSession On
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrinSessionCookieName session path=/
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrinSessionCryptoPassphrase secret
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin </pre>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin</div>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <p>The session will be encrypted with the given key. Different servers can
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin be configured to share sessions by ensuring the same encryption key is used
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin on each server.</p>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <p>If the encryption key is changed, sessions will be invalidated
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin automatically.</p>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <p>For documentation on how the session can be used to store username
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin and password details, see the <code class="module"><a href="/mod/mod_auth_form.html">mod_auth_form</a></code> module.</p>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin </div>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<div class="directive-section"><h2><a name="SessionCryptoCipher" id="SessionCryptoCipher">SessionCryptoCipher</a> <a name="sessioncryptocipher" id="sessioncryptocipher">Directive</a></h2>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<table class="directive">
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The crypto cipher to be used to encrypt the session</td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SessionCryptoCipher <var>name</var></code></td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>aes256</code></td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_crypto</td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3.0 and later</td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin</table>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <p>The <code class="directive">SessionCryptoCipher</code> directive allows the cipher to
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin be used during encryption. If not specified, the cipher defaults to
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <code>aes256</code>.</p>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <p>Possible values depend on the crypto driver in use, and could be one of:</p>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <ul><li>3des192</li><li>aes128</li><li>aes192</li><li>aes256</li></ul>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin</div>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<div class="directive-section"><h2><a name="SessionCryptoDriver" id="SessionCryptoDriver">SessionCryptoDriver</a> <a name="sessioncryptodriver" id="sessioncryptodriver">Directive</a></h2>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<table class="directive">
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The crypto driver to be used to encrypt the session</td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SessionCryptoDriver <var>name</var> <var>[param[=value]]</var></code></td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_crypto</td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3.0 and later</td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin</table>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <p>The <code class="directive">SessionCryptoDriver</code> directive specifies the name of
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin the crypto driver to be used for encryption. If not specified, the driver defaults
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin to the recommended driver compiled into APR-util.</p>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <p>The <var>NSS</var> crypto driver requires some parameters for configuration,
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin which are specified as parameters with optional values after the driver name.</p>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <div class="example"><h3>NSS without a certificate database</h3><pre class="prettyprint lang-config">
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin SessionCryptoDriver nss
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin </pre>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin</div>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <div class="example"><h3>NSS with certificate database</h3><pre class="prettyprint lang-config">
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin SessionCryptoDriver nss dir=certs
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin </pre>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin</div>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <div class="example"><h3>NSS with certificate database and parameters</h3><pre class="prettyprint lang-config">
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin SessionCryptoDriver nss dir=certs key3=key3.db cert7=cert7.db secmod=secmod
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin </pre>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin</div>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <div class="example"><h3>NSS with paths containing spaces</h3><pre class="prettyprint lang-config">
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin SessionCryptoDriver nss "dir=My Certs" key3=key3.db cert7=cert7.db secmod=secmod
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin </pre>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin</div>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <p>The <var>NSS</var> crypto driver might have already been configured by another
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin part of the server, for example from <code class="module"><a href="/mod/mod_nss.html">mod_nss</a></code> or
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <code class="module"><a href="/mod/mod_ldap.html">mod_ldap</a></code>. If found to have already been configured,
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin a warning will be logged, and the existing configuration will have taken affect.
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin To avoid this warning, use the noinit parameter as follows.</p>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <div class="example"><h3>NSS with certificate database</h3><pre class="prettyprint lang-config">
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin SessionCryptoDriver nss noinit
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin </pre>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin</div>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <p>To prevent confusion, ensure that all modules requiring NSS are configured with
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin identical parameters.</p>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <p>The <var>openssl</var> crypto driver supports an optional parameter to specify
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin the engine to be used for encryption.</p>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <div class="example"><h3>OpenSSL with engine support</h3><pre class="prettyprint lang-config">
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin SessionCryptoDriver openssl engine=name
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin </pre>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin</div>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin</div>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<div class="directive-section"><h2><a name="SessionCryptoPassphrase" id="SessionCryptoPassphrase">SessionCryptoPassphrase</a> <a name="sessioncryptopassphrase" id="sessioncryptopassphrase">Directive</a></h2>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<table class="directive">
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The key used to encrypt the session</td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SessionCryptoPassphrase <var>secret</var> [ <var>secret</var> ... ] </code></td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_crypto</td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3.0 and later</td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin</table>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <p>The <code class="directive">SessionCryptoPassphrase</code> directive specifies the keys
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin to be used to enable symmetrical encryption on the contents of the session before
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin writing the session, or decrypting the contents of the session after reading the
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin session.</p>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <p>Keys are more secure when they are long, and consist of truly random characters.
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin Changing the key on a server has the effect of invalidating all existing sessions.</p>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <p>Multiple keys can be specified in order to support key rotation. The first key
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin listed will be used for encryption, while all keys listed will be attempted for
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin decryption. To rotate keys across multiple servers over a period of time, add a new
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin secret to the end of the list, and once rolled out completely to all servers, remove
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin the first key from the start of the list.</p>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin</div>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<div class="directive-section"><h2><a name="SessionCryptoPassphraseFile" id="SessionCryptoPassphraseFile">SessionCryptoPassphraseFile</a> <a name="sessioncryptopassphrasefile" id="sessioncryptopassphrasefile">Directive</a></h2>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<table class="directive">
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>File containing keys used to encrypt the session</td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SessionCryptoPassphraseFile <var>filename</var></code></td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Experimental</td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_session_crypto</td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache 2.3.0 and later</td></tr>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin</table>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <p>The <code class="directive">SessionCryptoPassphraseFile</code> directive specifies the
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin name of a configuration file containing the keys to use for encrypting or decrypting
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin the session, specified one per line. The file is read on server start, and a graceful
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin restart will be necessary for httpd to pick up changes to the keys.</p>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <p>Unlike the <code class="directive">SessionCryptoPassphrase</code> directive, the keys are
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin not exposed within the httpd configuration and can be hidden by protecting the file
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin appropriately.</p>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin <p>Multiple keys can be specified in order to support key rotation. The first key
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin listed will be used for encryption, while all keys listed will be attempted for
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin decryption. To rotate keys across multiple servers over a period of time, add a new
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin secret to the end of the list, and once rolled out completely to all servers, remove
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin the first key from the start of the list.</p>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin</div>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin</div>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<div class="bottomlang">
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<p><span>Available Languages: </span><a href="/en/mod/mod_session_crypto.html" title="English">&nbsp;en&nbsp;</a></p>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin</div><div id="footer">
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<p class="apache">Copyright 2012 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="/faq/">FAQ</a> | <a href="/glossary.html">Glossary</a> | <a href="/sitemap.html">Sitemap</a></p></div><script type="text/javascript">
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin if (typeof(prettyPrint) !== undefined) {
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin prettyPrint();
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin }
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin</script>
64f23d7fddbd8bacb8c18434baedb5f1f86b432aminfrin</body></html>