兼容性
本页涵盖了mod_ssl与其他SSL解决方案之间的向后兼容性。mod_ssl并非Apache的唯一SSL解决方案;还有(或曾经提供)另外四个产品:Ben Laurie的免费可用的Apache-SSL(最初是mod_ssl的来源,始于1998年),Red Hat的商业安全Web服务器(基于mod_ssl),Covalent的商业Raven SSL模块(也基于mod_ssl),最后是C2Net(现在是Red Hat)的商业产品Stronghold(基于一个不同的演进分支,从Stronghold 2.x开始命名为Sioux,并从Stronghold 3.x开始基于mod_ssl)。
mod_ssl主要提供所有其他解决方案功能的超集,因此很容易从较旧的模块之一迁移到mod_ssl。较早的SSL解决方案使用的配置指令和环境变量名称与mod_ssl中使用的指令不同。此处包含映射表,以提供mod_ssl使用的等效表。
配置指令
表1给出了Apache-SSL 1.x和mod_ssl 2.0.x使用的配置指令之间的映射。由于这些接口中的特殊功能(mod_ssl不提供),因此Sioux 1.x和Stronghold 2.x的映射仅是部分的。
表1:配置指令映射
| Old Directive | mod_ssl Directive | Comment |
|---|---|---|
| Apache-SSL 1.x & mod_ssl 2.0.x compatibility: | ||
| SSLEnable | SSLEngine on | compactified |
| SSLDisable | SSLEngine off | compactified |
SSLLogFilefile | Use per-module LogLevel setting instead. | |
SSLRequiredCiphersspec | SSLCipherSuitespec | renamed |
SSLRequireCipherc1... | SSLRequire %{SSL_CIPHER}in{"c1",...} | generalized |
SSLBanCipherc1... | SSLRequire not(%{SSL_CIPHER}in{"c1",...}) | generalized |
| SSLFakeBasicAuth | SSLOptions +FakeBasicAuth | merged |
SSLCacheServerPathdir | - | functionality removed |
SSLCacheServerPortinteger | - | functionality removed |
| Apache-SSL 1.x compatibility: | ||
| SSLExportClientCertificates | SSLOptions +ExportCertData | merged |
SSLCacheServerRunDirdir | - | functionality not supported |
| Sioux 1.x compatibility: | ||
SSL_CertFilefile | SSLCertificateFilefile | renamed |
SSL_KeyFilefile | SSLCertificateKeyFilefile | renamed |
SSL_CipherSuitearg | SSLCipherSuitearg | renamed |
SSL_X509VerifyDirarg | SSLCACertificatePatharg | renamed |
SSL_Logfile | - | Use per-module LogLevel setting instead. |
SSL_Connectflag | SSLEngineflag | renamed |
SSL_ClientAutharg | SSLVerifyClientarg | renamed |
SSL_X509VerifyDeptharg | SSLVerifyDeptharg | renamed |
SSL_FetchKeyPhraseFromarg | - | not directly mappable; use SSLPassPhraseDialog |
SSL_SessionDirdir | - | not directly mappable; use SSLSessionCache |
SSL_Requireexpr | - | not directly mappable; use SSLRequire |
SSL_CertFileTypearg | - | functionality not supported |
SSL_KeyFileTypearg | - | functionality not supported |
SSL_X509VerifyPolicyarg | - | functionality not supported |
SSL_LogX509Attributesarg | - | functionality not supported |
| Stronghold 2.x compatibility: | ||
StrongholdAcceleratorengine | SSLCryptoDeviceengine | renamed |
StrongholdKeydir | - | functionality not needed |
StrongholdLicenseFiledir | - | functionality not needed |
SSLFlagflag | SSLEngineflag | renamed |
SSLSessionLockFilefile | SSLMutexfile | renamed |
SSLCipherListspec | SSLCipherSuitespec | renamed |
| RequireSSL | SSLRequireSSL | renamed |
SSLErrorFilefile | - | functionality not supported |
SSLRootdir | - | functionality not supported |
SSL_CertificateLogDirdir | - | functionality not supported |
AuthCertDirdir | - | functionality not supported |
SSL_Groupname | - | functionality not supported |
SSLProxyMachineCertPathdir | SSLProxyMachineCertificatePathdir | renamed |
SSLProxyMachineCertFilefile | SSLProxyMachineCertificateFilefile | renamed |
SSLProxyCipherListspec | SSLProxyCipherSpecspec | renamed |
环境变量
表2中给出了较旧的SSL解决方案使用的环境变量名称与mod_ssl使用的名称之间的映射。
表2:环境变量推导
| 旧变量 | mod_ssl变量 | 评论 |
|---|---|---|
| SSL_PROTOCOL_VERSION | SSL_PROTOCOL | 重命名 |
| SSLEAY_VERSION | SSL_VERSION_LIBRARY | 重命名 |
| HTTPS_SECRETKEYSIZE | SSL_CIPHER_USEKEYSIZE | 重命名 |
| HTTPS_KEYSIZE | SSL_CIPHER_ALGKEYSIZE | 重命名 |
| HTTPS_CIPHER | SSL_CIPHER | 重命名 |
| HTTPS_EXPORT | SSL_CIPHER_EXPORT | 重命名 |
| SSL_SERVER_KEY_SIZE | SSL_CIPHER_ALGKEYSIZE | 重命名 |
| SSL_SERVER_CERTIFICATE | SSL_SERVER_CERT | 重命名 |
| SSL_SERVER_CERT_START | SSL_SERVER_V_START | 重命名 |
| SSL_SERVER_CERT_END | SSL_SERVER_V_END | 重命名 |
| SSL_SERVER_CERT_SERIAL | SSL_SERVER_M_SERIAL | 重命名 |
| SSL_SERVER_SIGNATURE_ALGORITHM | SSL_SERVER_A_SIG | 重命名 |
| SSL_SERVER_DN | SSL_SERVER_S_DN | 重命名 |
| SSL_SERVER_CN | SSL_SERVER_S_DN_CN | 重命名 |
| SSL_SERVER_EMAIL | SSL_SERVER_S_DN_Email | 重命名 |
| SSL_SERVER_O | SSL_SERVER_S_DN_O | 重命名 |
| SSL_SERVER_OU | SSL_SERVER_S_DN_OU | 重命名 |
| SSL_SERVER_C | SSL_SERVER_S_DN_C | 重命名 |
| SSL_SERVER_SP | SSL_SERVER_S_DN_SP | 重命名 |
| SSL_SERVER_L | SSL_SERVER_S_DN_L | 重命名 |
| SSL_SERVER_IDN | SSL_SERVER_I_DN | 重命名 |
| SSL_SERVER_ICN | SSL_SERVER_I_DN_CN | 重命名 |
| SSL_SERVER_IEMAIL | SSL_SERVER_I_DN_Email | 重命名 |
| SSL_SERVER_IO | SSL_SERVER_I_DN_O | 重命名 |
| SSL_SERVER_IOU | SSL_SERVER_I_DN_OU | 重命名 |
| SSL_SERVER_IC | SSL_SERVER_I_DN_C | 重命名 |
| SSL_SERVER_ISP | SSL_SERVER_I_DN_SP | 重命名 |
| SSL_SERVER_IL | SSL_SERVER_I_DN_L | 重命名 |
| SSL_CLIENT_CERTIFICATE | SSL_CLIENT_CERT | 重命名 |
| SSL_CLIENT_CERT_START | SSL_CLIENT_V_START | 重命名 |
| SSL_CLIENT_CERT_END | SSL_CLIENT_V_END | 重命名 |
| SSL_CLIENT_CERT_SERIAL | SSL_CLIENT_M_SERIAL | 重命名 |
| SSL_CLIENT_SIGNATURE_ALGORITHM | SSL_CLIENT_A_SIG | 重命名 |
| SSL_CLIENT_DN | SSL_CLIENT_S_DN | 重命名 |
| SSL_CLIENT_CN | SSL_CLIENT_S_DN_CN | 重命名 |
| SSL_CLIENT_EMAIL | SSL_CLIENT_S_DN_Email | 重命名 |
| SSL_CLIENT_O | SSL_CLIENT_S_DN_O | 重命名 |
| SSL_CLIENT_OU | SSL_CLIENT_S_DN_OU | 重命名 |
| SSL_CLIENT_C | SSL_CLIENT_S_DN_C | 重命名 |
| SSL_CLIENT_SP | SSL_CLIENT_S_DN_SP | 重命名 |
| SSL_CLIENT_L | SSL_CLIENT_S_DN_L | 重命名 |
| SSL_CLIENT_IDN | SSL_CLIENT_I_DN | 重命名 |
| SSL_CLIENT_ICN | SSL_CLIENT_I_DN_CN | 重命名 |
| SSL_CLIENT_IEMAIL | SSL_CLIENT_I_DN_Email | 重命名 |
| SSL_CLIENT_IO | SSL_CLIENT_I_DN_O | 重命名 |
| SSL_CLIENT_IOU | SSL_CLIENT_I_DN_OU | 重命名 |
| SSL_CLIENT_IC | SSL_CLIENT_I_DN_C | 重命名 |
| SSL_CLIENT_ISP | SSL_CLIENT_I_DN_SP | 重命名 |
| SSL_CLIENT_IL | SSL_CLIENT_I_DN_L | 重命名 |
| SSL_EXPORT | SSL_CIPHER_EXPORT | 重命名 |
| SSL_KEYSIZE | SSL_CIPHER_ALGKEYSIZE | 重命名 |
| SSL_SECKEYSIZE | SSL_CIPHER_USEKEYSIZE | 重命名 |
| SSL_SSLEAY_VERSION | SSL_VERSION_LIBRARY | 重命名 |
| SSL_STRONG_CRYPTO | - | mod_ssl不支持 |
| SSL_SERVER_KEY_EXP | - | mod_ssl不支持 |
| SSL_SERVER_KEY_ALGORITHM | - | mod_ssl不支持 |
| SSL_SERVER_KEY_SIZE | - | mod_ssl不支持 |
| SSL_SERVER_SESSIONDIR | - | mod_ssl不支持 |
| SSL_SERVER_CERTIFICATELOGDIR | - | mod_ssl不支持 |
| SSL_SERVER_CERTFILE | - | mod_ssl不支持 |
| SSL_SERVER_KEYFILE | - | mod_ssl不支持 |
| SSL_SERVER_KEYFILETYPE | - | mod_ssl不支持 |
| SSL_CLIENT_KEY_EXP | - | mod_ssl不支持 |
| SSL_CLIENT_KEY_ALGORITHM | - | mod_ssl不支持 |
| SSL_CLIENT_KEY_SIZE | - | mod_ssl不支持 |
自定义日志功能
启用mod_ssl时,自定义日志格式的附加功能存在mod_log_config于参考章节中。旁边的``%{VARNAME}x“”延伸格式,可用于扩大由任何模块提供的任何变量函数,附加的加密``%{名}c“”加密格式函数存在为了向后兼容。表3中列出了当前实现的函数调用。
表3:自定义日志密码功能
| 函数调用 | 描述 |
|---|---|
| %...{version}c | SSL协议版本 |
| %...{cipher}c | SSL密码 |
| %...{subjectdn}c | 客户证书主题专有名称 |
| %...{issuerdn}c | 客户证书颁发者的专有名称 |
| %...{errcode}c | 证书验证错误(数字) |
| %...{errstr}c | 证书验证错误(字符串) |
