ssl_compat.html revision 210ac7f213498949b68ee13b33fd9324d08ff81f
10139N/A<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
10139N/A "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
10139N/A
10139N/A<html xmlns="http://www.w3.org/1999/xhtml">
10139N/A <head>
10139N/A<title>Apache SSL/TLS Encryption: Compatibility</title>
10139N/A<style type="text/css"><!--
10139N/A.H {
10139N/A}
10139N/A.D {
10139N/A background-color: #f0f0f0;
10139N/A}
10139N/A--></style>
10139N/A</head>
10139N/A
10139N/A<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#000080" alink="#FF0000">
10139N/A<!--#include virtual="header.html" -->
10139N/A
10139N/A<h1 align="center">SSL/TLS Strong Encryption: Compatibility</h1>
10139N/A
10139N/A<div align="right">
10139N/A<table cellspacing="0" cellpadding="0" width="200" summary="">
10139N/A<tr>
10139N/A<td>
10139N/A<em>
10139N/AAll PCs are compatible. But some of
10139N/Athem are more compatible than others.
10139N/A</em>
10139N/A</td>
10139N/A</tr>
10139N/A<tr>
10139N/A<td align="right">
10139N/A<font size="-1">
10139N/AUnknown
10139N/A</font>
10139N/A</td>
10139N/A</tr>
10139N/A</table>
10139N/A</div>
10139N/A<p>
10139N/AHere we talk about backward compatibility to other SSL solutions. As you
10139N/Aperhaps know, mod_ssl is not the only existing SSL solution for Apache.
10139N/AActually there are four additional major products available on the market: Ben
10139N/ALaurie's freely available <a href="http://www.apache-ssl.org/">Apache-SSL</a>
10139N/A(from where mod_ssl were originally derived in 1998), RedHat's commercial <a
10139N/Ahref="http://www.redhat.com/products/product-details.phtml?id=rhsa">Secure Web
10139N/AServer</a> (which is based on mod_ssl), Covalent's commercial <a
10139N/Ahref="http://raven.covalent.net/">Raven SSL Module</a> (also based on mod_ssl)
10139N/Aand finally C2Net's commercial product <a
10139N/Ahref="http://www.c2.net/products/stronghold/">Stronghold</a> (based on a
10139N/Adifferent evolution branch named Sioux up to Stronghold 2.x and based on
10139N/Amod_ssl since Stronghold 3.x).</p>
10139N/A
10139N/A<p>
10139N/AThe idea in mod_ssl is mainly the following: because mod_ssl provides mostly a
10139N/Asuperset of the functionality of all other solutions we can easily provide
10139N/Abackward compatibility for most of the cases. Actually there are three
10139N/Acompatibility areas we currently address: configuration directives,
10139N/Aenvironment variables and custom log functions.</p>
10139N/A
10139N/A<ul>
10139N/A<li><a href="#ToC1">Configuration Directives</a></li>
10139N/A<li><a href="#ToC2">Environment Variables</a></li>
10139N/A<li><a href="#ToC3">Custom Log Functions</a></li>
10139N/A</ul>
10139N/A
10139N/A<h2><a name="ToC1">Configuration Directives</a></h2>
10139N/A<p>For backward compatibility to the configuration directives of other SSL
10139N/Asolutions we do an on-the-fly mapping: directives which have a direct
10139N/Acounterpart in mod_ssl are mapped silently while other directives lead to a
10139N/Awarning message in the logfiles. The currently implemented directive mapping
10139N/Ais listed in <a href="#table1">Table 1</a>. Currently full backward
10139N/Acompatibilty is provided only for Apache-SSL 1.x and mod_ssl 2.0.x.
10139N/ACompatibility to Sioux 1.x and Stronghold 2.x is only partial because of
10139N/Aspecial functionality in these interfaces which mod_ssl (still) doesn't
10139N/Aprovide.</p>
10139N/A
10139N/A
10139N/A<div align="center">
10139N/A<a name="table1"></a>
10139N/A<table width="600" cellspacing="0" cellpadding="1" border="0" summary="">
10139N/A<caption align="bottom" >Table 1: Configuration Directive Mapping</caption>
10139N/A<tr><td bgcolor="#cccccc">
10139N/A<table width="598" cellpadding="5" cellspacing="0" border="0" summary="">
10139N/A<tr><td valign="top" align="center" bgcolor="#ffffff">
10139N/A<table border="0" cellspacing="0" cellpadding="2" width="598" summary="">
10139N/A<tr class="D">
10139N/A<td><strong>Old Directive</strong></td>
10139N/A<td><strong>mod_ssl Directive</strong></td>
10139N/A<td><strong>Comment</strong></td>
10139N/A</tr>
10139N/A<tr class="H"><td colspan="3"><b>Apache-SSL 1.x &amp; mod_ssl 2.0.x compatibility:</b></td></tr>
10139N/A<tr class="D"><td><code>SSLEnable</code></td><td><code>SSLEngine on</code></td><td>compactified</td></tr>
10139N/A<tr class="H"><td><code>SSLDisable</code></td><td><code>SSLEngine off</code></td><td>compactified</td></tr>
10139N/A<tr class="D"><td><code>SSLLogFile</code> <em>file</em></td><td><code>SSLLog</code> <em>file</em></td><td>compactified</td></tr>
10139N/A<tr class="H"><td><code>SSLRequiredCiphers</code> <em>spec</em></td><td><code>SSLCipherSuite</code> <em>spec</em></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSLRequireCipher</code> <em>c1</em> ...</td><td><code>SSLRequire %{SSL_CIPHER} in {"</code><em>c1</em><code>", ...}</code></td><td>generalized</td></tr>
10139N/A<tr class="H"><td><code>SSLBanCipher</code> <em>c1</em> ...</td><td><code>SSLRequire not (%{SSL_CIPHER} in {"</code><em>c1</em><code>", ...})</code></td><td>generalized</td></tr>
10139N/A<tr class="D"><td><code>SSLFakeBasicAuth</code></td><td><code>SSLOptions +FakeBasicAuth</code></td><td>merged</td></tr>
10139N/A<tr class="H"><td><code>SSLCacheServerPath</code> <em>dir</em></td><td>-</td><td>functionality removed</td></tr>
10139N/A<tr class="D"><td><code>SSLCacheServerPort</code> <em>integer</em></td><td>-</td><td>functionality removed</td></tr>
10139N/A<tr class="H"><td colspan="3"><b>Apache-SSL 1.x compatibility:</b></td></tr>
10139N/A<tr class="D"><td><code>SSLExportClientCertificates</code></td><td><code>SSLOptions +ExportCertData</code></td><td>merged</td></tr>
10139N/A<tr class="H"><td><code>SSLCacheServerRunDir</code> <em>dir</em></td><td>-</td><td>functionality not supported</td></tr>
10139N/A<tr class="D"><td colspan="3"><b>Sioux 1.x compatibility:</b></td></tr>
10139N/A<tr class="H"><td><code>SSL_CertFile</code> <em>file</em></td><td><code>SSLCertificateFile</code> <em>file</em></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_KeyFile</code> <em>file</em></td><td><code>SSLCertificateKeyFile</code> <em>file</em></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_CipherSuite</code> <em>arg</em></td><td><code>SSLCipherSuite</code> <em>arg</em></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_X509VerifyDir</code> <em>arg</em></td><td><code>SSLCACertificatePath</code> <em>arg</em></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_Log</code> <em>file</em></td><td><code>SSLLogFile</code> <em>file</em></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_Connect</code> <em>flag</em></td><td><code>SSLEngine</code> <em>flag</em></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_ClientAuth</code> <em>arg</em></td><td><code>SSLVerifyClient</code> <em>arg</em></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_X509VerifyDepth</code> <em>arg</em></td><td><code>SSLVerifyDepth</code> <em>arg</em></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_FetchKeyPhraseFrom</code> <em>arg</em></td><td>-</td><td>not directly mappable; use SSLPassPhraseDialog</td></tr>
10139N/A<tr class="D"><td><code>SSL_SessionDir</code> <em>dir</em></td><td>-</td><td>not directly mappable; use SSLSessionCache</td></tr>
10139N/A<tr class="H"><td><code>SSL_Require</code> <em>expr</em></td><td>-</td><td>not directly mappable; use SSLRequire</td></tr>
10139N/A<tr class="D"><td><code>SSL_CertFileType</code> <em>arg</em></td><td>-</td><td>functionality not supported</td></tr>
10139N/A<tr class="H"><td><code>SSL_KeyFileType</code> <em>arg</em></td><td>-</td><td>functionality not supported</td></tr>
10139N/A<tr class="D"><td><code>SSL_X509VerifyPolicy</code> <em>arg</em></td><td>-</td><td>functionality not supported</td></tr>
10139N/A<tr class="H"><td><code>SSL_LogX509Attributes</code> <em>arg</em></td><td>-</td><td>functionality not supported</td></tr>
10139N/A<tr class="D"><td colspan="3"><b>Stronghold 2.x compatibility:</b></td></tr>
10139N/A<tr class="H"><td><code>StrongholdAccelerator</code> <em>dir</em></td><td>-</td><td>functionality not supported</td></tr>
10139N/A<tr class="D"><td><code>StrongholdKey</code> <em>dir</em></td><td>-</td><td>functionality not supported</td></tr>
10139N/A<tr class="H"><td><code>StrongholdLicenseFile</code> <em>dir</em></td><td>-</td><td>functionality not supported</td></tr>
10139N/A<tr class="D"><td><code>SSLFlag</code> <em>flag</em></td><td><code>SSLEngine</code> <em>flag</em></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSLSessionLockFile</code> <em>file</em></td><td><code>SSLMutex</code> <em>file</em></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSLCipherList</code> <em>spec</em></td><td><code>SSLCipherSuite</code> <em>spec</em></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>RequireSSL</code></td><td><code>SSLRequireSSL</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSLErrorFile</code> <em>file</em></td><td>-</td><td>functionality not supported</td></tr>
10139N/A<tr class="H"><td><code>SSLRoot</code> <em>dir</em></td><td>-</td><td>functionality not supported</td></tr>
10139N/A<tr class="D"><td><code>SSL_CertificateLogDir</code> <em>dir</em></td><td>-</td><td>functionality not supported</td></tr>
10139N/A<tr class="H"><td><code>AuthCertDir</code> <em>dir</em></td><td>-</td><td>functionality not supported</td></tr>
10139N/A<tr class="D"><td><code>SSL_Group</code> <em>name</em></td><td>-</td><td>functionality not supported</td></tr>
10139N/A<tr class="H"><td><code>SSLProxyMachineCertPath</code> <em>dir</em></td><td>-</td><td>functionality not supported</td></tr>
10139N/A<tr class="D"><td><code>SSLProxyMachineCertFile</code> <em>file</em></td><td>-</td><td>functionality not supported</td></tr>
10139N/A<tr class="H"><td><code>SSLProxyCACertificatePath</code> <em>dir</em></td><td>-</td><td>functionality not supported</td></tr>
10139N/A<tr class="D"><td><code>SSLProxyCACertificateFile</code> <em>file</em></td><td>-</td><td>functionality not supported</td></tr>
10139N/A<tr class="H"><td><code>SSLProxyVerifyDepth</code> <em>number</em></td><td>-</td><td>functionality not supported</td></tr>
10139N/A<tr class="D"><td><code>SSLProxyCipherList</code> <em>spec</em></td><td>-</td><td>functionality not supported</td></tr>
10139N/A</table>
10139N/A</td>
10139N/A</tr></table>
10139N/A</td></tr></table>
10139N/A</div>
10139N/A<br />
10139N/A<h2><a name="ToC2">Environment Variables</a></h2>
10139N/A<p>When you use ``<code>SSLOptions +CompatEnvVars</code>'' additional environment
10139N/Avariables are generated. They all correspond to existing official mod_ssl
10139N/Avariables. The currently implemented variable derivation is listed in <a
10139N/Ahref="#table2">Table 2</a>.</p>
10139N/A<div align="center">
10139N/A<a name="table2"></a>
10139N/A<table width="600" cellspacing="0" cellpadding="1" border="0" summary="">
10139N/A<caption align="bottom" >Table 2: Environment Variable Derivation</caption>
10139N/A<tr><td bgcolor="#cccccc">
10139N/A<table width="598" cellpadding="5" cellspacing="0" border="0" summary="">
10139N/A<tr><td valign="top" align="center" bgcolor="#ffffff">
10139N/A<table border="0" cellspacing="0" cellpadding="2" width="598" summary="">
10139N/A<tr class="D">
10139N/A<td><strong>Old Variable</strong></td>
10139N/A<td><strong>mod_ssl Variable</strong></td>
10139N/A<td><strong>Comment</strong></td>
10139N/A</tr>
10139N/A<tr class="H"><td><code>SSL_PROTOCOL_VERSION</code></td><td><code>SSL_PROTOCOL</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSLEAY_VERSION</code></td><td><code>SSL_VERSION_LIBRARY</code></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>HTTPS_SECRETKEYSIZE</code></td><td><code>SSL_CIPHER_USEKEYSIZE</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>HTTPS_KEYSIZE</code></td><td><code>SSL_CIPHER_ALGKEYSIZE</code></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>HTTPS_CIPHER</code></td><td><code>SSL_CIPHER</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>HTTPS_EXPORT</code></td><td><code>SSL_CIPHER_EXPORT</code></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_SERVER_KEY_SIZE</code></td><td><code>SSL_CIPHER_ALGKEYSIZE</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_SERVER_CERTIFICATE</code></td><td><code>SSL_SERVER_CERT</code></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_SERVER_CERT_START</code></td><td><code>SSL_SERVER_V_START</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_SERVER_CERT_END</code></td><td><code>SSL_SERVER_V_END</code></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_SERVER_CERT_SERIAL</code></td><td><code>SSL_SERVER_M_SERIAL</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_SERVER_SIGNATURE_ALGORITHM</code></td><td><code>SSL_SERVER_A_SIG</code></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_SERVER_DN</code></td><td><code>SSL_SERVER_S_DN</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_SERVER_CN</code></td><td><code>SSL_SERVER_S_DN_CN</code></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_SERVER_EMAIL</code></td><td><code>SSL_SERVER_S_DN_Email</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_SERVER_O</code></td><td><code>SSL_SERVER_S_DN_O</code></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_SERVER_OU</code></td><td><code>SSL_SERVER_S_DN_OU</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_SERVER_C</code></td><td><code>SSL_SERVER_S_DN_C</code></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_SERVER_SP</code></td><td><code>SSL_SERVER_S_DN_SP</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_SERVER_L</code></td><td><code>SSL_SERVER_S_DN_L</code></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_SERVER_IDN</code></td><td><code>SSL_SERVER_I_DN</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_SERVER_ICN</code></td><td><code>SSL_SERVER_I_DN_CN</code></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_SERVER_IEMAIL</code></td><td><code>SSL_SERVER_I_DN_Email</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_SERVER_IO</code></td><td><code>SSL_SERVER_I_DN_O</code></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_SERVER_IOU</code></td><td><code>SSL_SERVER_I_DN_OU</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_SERVER_IC</code></td><td><code>SSL_SERVER_I_DN_C</code></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_SERVER_ISP</code></td><td><code>SSL_SERVER_I_DN_SP</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_SERVER_IL</code></td><td><code>SSL_SERVER_I_DN_L</code></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_CLIENT_CERTIFICATE</code></td><td><code>SSL_CLIENT_CERT</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_CLIENT_CERT_START</code></td><td><code>SSL_CLIENT_V_START</code></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_CLIENT_CERT_END</code></td><td><code>SSL_CLIENT_V_END</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_CLIENT_CERT_SERIAL</code></td><td><code>SSL_CLIENT_M_SERIAL</code></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_CLIENT_SIGNATURE_ALGORITHM</code></td><td><code>SSL_CLIENT_A_SIG</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_CLIENT_DN</code></td><td><code>SSL_CLIENT_S_DN</code></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_CLIENT_CN</code></td><td><code>SSL_CLIENT_S_DN_CN</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_CLIENT_EMAIL</code></td><td><code>SSL_CLIENT_S_DN_Email</code></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_CLIENT_O</code></td><td><code>SSL_CLIENT_S_DN_O</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_CLIENT_OU</code></td><td><code>SSL_CLIENT_S_DN_OU</code></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_CLIENT_C</code></td><td><code>SSL_CLIENT_S_DN_C</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_CLIENT_SP</code></td><td><code>SSL_CLIENT_S_DN_SP</code></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_CLIENT_L</code></td><td><code>SSL_CLIENT_S_DN_L</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_CLIENT_IDN</code></td><td><code>SSL_CLIENT_I_DN</code></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_CLIENT_ICN</code></td><td><code>SSL_CLIENT_I_DN_CN</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_CLIENT_IEMAIL</code></td><td><code>SSL_CLIENT_I_DN_Email</code></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_CLIENT_IO</code></td><td><code>SSL_CLIENT_I_DN_O</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_CLIENT_IOU</code></td><td><code>SSL_CLIENT_I_DN_OU</code></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_CLIENT_IC</code></td><td><code>SSL_CLIENT_I_DN_C</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_CLIENT_ISP</code></td><td><code>SSL_CLIENT_I_DN_SP</code></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_CLIENT_IL</code></td><td><code>SSL_CLIENT_I_DN_L</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_EXPORT</code></td><td><code>SSL_CIPHER_EXPORT</code></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_KEYSIZE</code></td><td><code>SSL_CIPHER_ALGKEYSIZE</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_SECKEYSIZE</code></td><td><code>SSL_CIPHER_USEKEYSIZE</code></td><td>renamed</td></tr>
10139N/A<tr class="H"><td><code>SSL_SSLEAY_VERSION</code></td><td><code>SSL_VERSION_LIBRARY</code></td><td>renamed</td></tr>
10139N/A<tr class="D"><td><code>SSL_STRONG_CRYPTO</code></td><td><code>-</code></td><td>Not supported by mod_ssl</td></tr>
10139N/A<tr class="H"><td><code>SSL_SERVER_KEY_EXP</code></td><td><code>-</code></td><td>Not supported by mod_ssl</td></tr>
10139N/A<tr class="D"><td><code>SSL_SERVER_KEY_ALGORITHM</code></td><td><code>-</code></td><td>Not supported by mod_ssl</td></tr>
10139N/A<tr class="H"><td><code>SSL_SERVER_KEY_SIZE</code></td><td><code>-</code></td><td>Not supported by mod_ssl</td></tr>
10139N/A<tr class="D"><td><code>SSL_SERVER_SESSIONDIR</code></td><td><code>-</code></td><td>Not supported by mod_ssl</td></tr>
10139N/A<tr class="H"><td><code>SSL_SERVER_CERTIFICATELOGDIR</code></td><td><code>-</code></td><td>Not supported by mod_ssl</td></tr>
10139N/A<tr class="D"><td><code>SSL_SERVER_CERTFILE</code></td><td><code>-</code></td><td>Not supported by mod_ssl</td></tr>
10139N/A<tr class="H"><td><code>SSL_SERVER_KEYFILE</code></td><td><code>-</code></td><td>Not supported by mod_ssl</td></tr>
10139N/A<tr class="D"><td><code>SSL_SERVER_KEYFILETYPE</code></td><td><code>-</code></td><td>Not supported by mod_ssl</td></tr>
10139N/A<tr class="H"><td><code>SSL_CLIENT_KEY_EXP</code></td><td><code>-</code></td><td>Not supported by mod_ssl</td></tr>
10139N/A<tr class="D"><td><code>SSL_CLIENT_KEY_ALGORITHM</code></td><td><code>-</code></td><td>Not supported by mod_ssl</td></tr>
10139N/A<tr class="H"><td><code>SSL_CLIENT_KEY_SIZE</code></td><td><code>-</code></td><td>Not supported by mod_ssl</td></tr>
10139N/A</table>
10139N/A</td>
10139N/A</tr></table>
10139N/A</td></tr></table>
10139N/A</div>
10139N/A<br />
10139N/A<h2><a name="ToC3">Custom Log Functions</a></h2>
10139N/A<p>
10139N/AWhen mod_ssl is built into Apache or at least loaded (under DSO situation)
10139N/Aadditional functions exist for the <a
10139N/Ahref="/mod/mod_log_config.html#formats">Custom Log Format</a> of <a
10139N/Ahref="/mod/mod_log_config.html">mod_log_config</a> as documented in the Reference
10139N/AChapter. Beside the ``<code>%{</code><em>varname</em><code>}x</code>''
10139N/AeXtension format function which can be used to expand any variables provided
10139N/Aby any module, an additional Cryptography
10139N/A``<code>%{</code><em>name</em><code>}c</code>'' cryptography format function
10139N/Aexists for backward compatibility. The currently implemented function calls
10139N/Aare listed in <a href="#table3">Table 3</a>.</p>
10139N/A<div align="center">
10139N/A<a name="table3"></a>
10139N/A<table width="600" cellspacing="0" cellpadding="1" border="0" summary="">
10139N/A<caption align="bottom" >Table 3: Custom Log Cryptography Function</caption>
10139N/A<tr><td bgcolor="#cccccc">
10139N/A<table width="598" cellpadding="5" cellspacing="0" border="0" summary="">
10139N/A<tr><td valign="top" align="center" bgcolor="#ffffff">
10139N/A<table border="0" cellspacing="0" cellpadding="2" width="598" summary="">
10139N/A<tr class="D">
10139N/A <td><strong>Function Call</strong></td>
10139N/A <td><strong>Description</strong></td>
10139N/A</tr>
10139N/A<tr class="H"><td><code>%...{version}c</code></td> <td>SSL protocol version</td></tr>
10139N/A<tr class="D"><td><code>%...{cipher}c</code></td> <td>SSL cipher</td></tr>
10139N/A<tr class="H"><td><code>%...{subjectdn}c</code></td> <td>Client Certificate Subject Distinguished Name</td></tr>
10139N/A<tr class="D"><td><code>%...{issuerdn}c</code></td> <td>Client Certificate Issuer Distinguished Name</td></tr>
10139N/A<tr class="H"><td><code>%...{errcode}c</code></td> <td>Certificate Verification Error (numerical)</td></tr>
10139N/A<tr class="D"><td><code>%...{errstr}c</code></td> <td>Certificate Verification Error (string)</td></tr>
10139N/A</table>
10139N/A</td>
10139N/A</tr></table>
10139N/A</td></tr></table>
10139N/A</div>
10139N/A <!--#include virtual="footer.html" -->
10139N/A </body>
10139N/A</html>