安全套接字层(SSL)伪指令是用于控制 IBM HTTP Server 中的 SSL 功能部件的配置参数。
IBM HTTP Server 中的大多数 SSL 伪指令都具有相同的行为。为给定虚拟主机配置指定的伪指令会覆盖在服务器基本部件配置中指定的伪指令。另外,为子目录指定的伪指令会覆盖为其父目录指定的伪指令。但是,存在例外。
另外,为子目录指定的伪指令可能追加至为其父目录指定的伪指令。在此情况下,用于父目录的伪指令不覆盖而是会追加至用于子目录的伪指令,这两个伪指令都应用于该子目录。
语法 |
![]()
|
作用域 | 全局基础和虚拟主机 |
缺省值 | 无 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 每个虚拟主机和全局服务器一个实例。 |
值 | 密钥文件的文件名。
|
语法 | SSLAcceleratorDisable |
作用域 | 虚拟和全局 |
缺省值 | 启用了加速器设备 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 每个虚拟主机一个实例。 |
值 | 无。将此伪指令放在配置文件中(包含虚拟主机中)的任何位置。在初始化期间,如果系统确定机器上已安装了一个加速器设备,那么系统将使用该加速器来增加安全事务数。此伪指令不使用参数。 |
语法 | SSLAllowNonCriticalBasicConstraints on|off |
作用域 | 全局服务器或虚拟主机 |
缺省值 | 关闭 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 每个虚拟主机和全局服务器一个实例。 |
值 | 无。此伪指令更改证书验证算法的行为,因而对发布者认证中心(CA)证书的非关键基本约束扩展将不导致验证失败。这允许与 GPKI 规范的某一方面兼容,该规范由日本政府颁布,与 RFC3280 冲突。 注: RFC3280
声明此扩展必须作为关键扩展出现在所有 CA 证书中,这些证书包含用来对证书验证数字签名的公用密钥。
|
语法 | SSLCacheDisable |
作用域 | 每个物理 Apache 服务器实例一个,仅在虚拟主机节外允许。 |
缺省值 | 无 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 不允许。 |
值 | 无。 |
语法 | SSLCacheEnable |
作用域 | 每个物理 Apache 服务器实例一个,仅在虚拟主机节外允许。 |
缺省值 | 无 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 不允许。 |
值 | 无。 |
语法 | SSLCacheErrorLog /usr/HTTPServer/logs/sidd_logg |
作用域 | 虚拟主机之外的服务器配置。 |
缺省值 | 无 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 不允许。 |
值 | 有效文件名。 |
语法 | SSLCachePath /usr/HTTPServer/bin/sidd |
作用域 | 虚拟主机之外的服务器配置。 |
缺省值 | <server-root>/bin/sidd |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 不允许。 |
值 | 有效路径名。 |
语法 | SSLCachePath /usr/HTTPServer/logs/sidd |
作用域 | 虚拟主机之外的服务器配置。 |
缺省值 | 如果未指定此伪指令且启用了高速缓存,那么服务器尝试使用 <server-root>/logs/siddport 文件。 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 不允许。 |
值 | 有效路径名。Web 服务器在启动期间删除此文件;不要命名。 |
语法 | SSLCacheTraceLog /usr/HTTPServer/logs/sidd-trace.log |
作用域 | 虚拟主机之外的服务器配置。 |
缺省值 | 无。 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 不允许。 |
值 | 有效路径名。 |
语法 | SSLCipherBan <cipher_specification> |
作用域 | 每个目录节多个实例。 |
缺省值 | 无。 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 每个目录节都允许。首选顺序是从上到下。 |
值 | 请参阅SSL V2 密码规范 和SSL V3 和 TLS V1 密码规范 。 |
语法 | SSLCipherRequire <cipher_specification> |
作用域 | 每个目录节多个实例。 |
缺省值 | 无。 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 每个目录节都允许。 |
值 | 请参阅SSL V2 密码规范 和SSL V3 和 TLS V1 密码规范 。 |
语法 | SSLCipherSpec short name 或 SSLCipherSpec long name |
作用域 | 虚拟主机。 |
缺省值 | 如果未指定任何内容,那么服务器使用可从安装的 GSK 库获取的所有密码规范。 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 允许。首选顺序是从上到下,从第一个到最后一个。如果客户机不支持密码规范,那么连接关闭。 |
值 | 请参阅SSL V2 密码规范 和SSL V3 和 TLS V1 密码规范 。 |
语法 | SSLClientAuth <level required> [crl] |
作用域 | 虚拟主机。 |
缺省值 | SSLClientAuth none |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 每个虚拟主机一个实例。 |
值 |
如果指定值 0/无,那么无法使用 CRL 选项。 |
SSLClientAuthGroup 伪指令定义指定的表达式组,该组包含一组特定的客户机证书属性和值对。这个指定组可由 SSLClientAuthRequire 伪指令使用。传递此表达式的客户机必须提供证书,然后服务器才会允许它访问受保护资源。
语法 | SSLClientAuthGroup 组名属性表达式 |
作用域 | 服务器配置、虚拟主机。 |
缺省值 | 无。 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 允许。 |
覆盖 | 无。 |
值 | 由属性检查组成的逻辑表达式以 AND、OR、NOT 和括号链接。例如:SSLClientAuthGroup IBMpeople Org = IBM |
有效逻辑表达式的描述。以下部分用有效的逻辑表达式提供示例描述。例如:SSLClientAuthGroup (CommonName = "Fred Smith" OR CommonName = "John Deere") AND Org = IBM 表示未对对象提供服务,除非客户机证书包含常见名 Fred Smith 或 John Deere,且组织是 IBM。属性检查的唯一有效的比较运算符是等于和不等于(= 和 !=)。您可以用 AND、OR 或 NOT(即,&&、|| 和 !)链接每个属性检查。使用括号分组比较。如果属性值包含非字母数字字符,那么必须用引号给值定界。
长名称 | 短名称 |
---|---|
CommonName | CN |
国家或地区 | C |
E | |
IssuerCommonName | ICN |
IssuerEmail | IE |
IssuerLocality | IL |
IssuerOrg | IO |
IssuerOrgUnit | IOU |
IssuerPostalCode | IPC |
IssuerStateOrProvince | IST |
位置 | L |
Org | O |
OrgUnit | OU |
PostalCode | PC |
StateOrProvince | ST |
可以在此伪指令中使用长名称或短名称。
SSLClientAuthGroup IBMpeople Org = IBM或
SSLClientAuthGroup NotMNIBM ST != MN && Org = IBM
组织不能包含空格。请参阅SSLClientAuthRequire 伪指令以了解更多信息。
SSLClientAuthRequire 伪指令指定多个属性值或多组属性值,必须对照客户机证书验证它们之后,服务器才会允许对受保护资源进行访问。
语法 | SSLClientAuthRequire 属性表达式 |
作用域 | 服务器配置、虚拟主机 |
缺省值 | 无。 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 允许。该功能通过“AND”连接这些伪指令。 |
覆盖 | AuthConfig |
值 | 由属性检查组成的逻辑表达式以 AND、OR、NOT 和括号链接。例如:SSLClientAuthRequire group != IBMpeople && ST = M |
如果您接收到的证书没有特定属性,那么没有属性匹配的验证。即使指定的匹配值为 " ",这仍可能与根本没有属性的情况不同。SSLClientAuthRequire 伪指令上指定的任何属性(但证书上未提供)会导致请求被拒绝。
长名称 | 短名称 |
---|---|
CommonName | CN |
国家或地区 | C |
E | |
IssuerCommonName | ICN |
IssuerEmail | IE |
IssuerLocality | IL |
IssuerOrg | IO |
IssuerOrgUnit | IOU |
IssuerPostalCode | IPC |
IssuerStateOrProvince | IST |
位置 | L |
Org | O |
OrgUnit | OU |
PostalCode | PC |
StateOrProvince | ST |
可以在此伪指令中使用长名称或短名称。
用户指定特定客户机证书属性的逻辑表达式。您可以对多个表达式在逻辑上使用 AND、OR 或 NOT 来指定客户机证书属性值的所需组合。有效的运算符有 '=' 和 '!='。用户还可以指定组名,使用SSLClientAuthGroup 伪指令对其进行配置来配置一组属性。
SSLClientAuthRequire (CommonName="John Doe" || StateOrProvince=MN) && Org !=IBM或
SSLClientAuthRequire group!=IBMpeople && ST=MN
SSLClientAuthRequire group != IBMpeople && "ST= MN"请参阅SSLClientAuthGroup 伪指令以了解更多信息。
SSLCRLHostname 伪指令指定证书撤销列表(CRL)数据库所在的 LDAP 服务器的 TCP/IP 名或地址。
语法 | <SSLCRLHostName <TCP/IP name or address> |
作用域 | 全局服务器或虚拟主机。 |
缺省值 | 缺省情况下禁用。 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 每个虚拟主机和全局服务器一个实例。 |
值 | LDAP 服务器的 TCP/IP 名或地址 |
请将 SSLCRLHostname 伪指令与 SSLCRLPort、SSLCRLUserID 和 SSLStashfile 伪指令一起用于基于 LDAP 的 CRL 存储库的静态配置。仅当显式 CRLDistributionPoint X.509v3 证书扩展不存在或在该扩展中指定的服务器无响应(不可用)时,才有必要使用这些伪指令来查询基于 LDAP 的 CRL 存储库。
如果 CRLDistributionPoint 扩展存在于证书中且该扩展中指定的服务器有响应(可用),那么在 CRLDistributionPoint 中指定的 LDAP 服务器会被匿名地查询,而不使用这些伪指令。
SSLCRLPort 伪指令指定证书撤销列表(CRL)数据库所在的 LDAP 服务器端口。
语法 | SSLCRL<port> |
作用域 | 全局服务器或虚拟主机。 |
缺省值 | 缺省情况下禁用。 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 每个虚拟主机和全局服务器一个实例。 |
值 | LDAP 服务器的端口;缺省值 = 389。 |
请将 SSLCRLPort 伪指令与 SSLCRLUserID、SSLCRLHostname 和 SSLStashfile 伪指令一起用于基于 LDAP 的 CRL 存储库的静态配置。仅当显式 CRLDistributionPoint X.509v3 证书扩展不存在或在该扩展中指定的服务器无响应(不可用)时,才有必要使用这些伪指令来查询基于 LDAP 的 CRL 存储库。
如果 CRLDistributionPoint 扩展存在于证书中且该扩展中指定的服务器有响应(可用),那么在 CRLDistributionPoint 中指定的 LDAP 服务器会被匿名地查询,而不使用这些伪指令。
SSLCRLUserID 伪指令指定要发送到 LDAP 服务器的用户标识,证书撤销列表(CRL)数据库位于此 LDAP 服务器上。
语法 | SSLCRLUserID <[prompt] <userid> |
作用域 | 全局服务器或虚拟主机。 |
缺省值 | 如果未指定用户标识,那么缺省值为匿名。 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 每个虚拟主机和全局服务器一个实例。 |
值 | LDAP 服务器的用户标识。使用提示选项使 HTTP Server 可以在启动期间提示您访问 LDAP 服务器所需的密码。 |
请将 SSLCRLUserID 伪指令与 SSLCRLPort、SSLCRLHostname 和 SSLStashfile 伪指令一起用于基于 LDAP 的 CRL 存储库的静态配置。仅当显式 CRLDistributionPoint X.509v3 证书扩展不存在或在该扩展中指定的服务器无响应(不可用)时,才有必要使用这些伪指令来查询基于 LDAP 的 CRL 存储库。
如果 CRLDistributionPoint 扩展存在于证书中且该扩展中指定的服务器有响应(可用),那么在 CRLDistributionPoint 中指定的 LDAP 服务器会被匿名地查询,而不使用这些伪指令。
语法 | SSLDisable |
作用域 | 全局服务器或虚拟主机。 |
缺省值 | 缺省情况下禁用。 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 每个虚拟主机和全局服务器一个实例。 |
值 | 无。 |
语法 | SSLEnable |
作用域 | 全局服务器或虚拟主机。 |
缺省值 | 缺省情况下禁用。 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 每个虚拟主机和全局服务器一个实例。 |
值 | 无。 |
SSLFakeBasicAuth 伪指令启用伪基本认证支持。
语法 | SSLFakeBasicAuth |
作用域 | 在目录节中,与 AuthName、AuthType 一起使用并且需要伪指令。 |
缺省值 | 无。 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 每个目录节一个实例。 |
值 | 无。 |
语法 | SSLFIPSDisable |
作用域 | 虚拟和全局。 |
缺省值 | 缺省情况下禁用。 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 每个虚拟主机和全局服务器一个实例。 |
值 | 无。 |
语法 | SSLFIPSEnable |
作用域 | 虚拟和全局。 |
缺省值 | 缺省情况下禁用。 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 每个虚拟主机和全局服务器一个实例。 |
值 | 无。 |
SSLPKCSDriver 伪指令识别模块的标准名称或用于访问 PKCS11 设备的驱动程序。
语法 | 用于访问 PKCS11 设备的模块的标准名称。如果模块存在于用户路径中,那么只指定模块名。 |
作用域 | 全局服务器或虚拟主机。 |
缺省值 | 无。 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 每个虚拟主机和全局服务器一个实例。 |
值 | PKCS11 模块或驱动程序的路径和名称。 |
SSLProtocolDisable 伪指令允许您为特定虚拟主机指定不能由客户机使用的一个或多个 SSL 协议。此伪指令必须位于 <VirtualHost> 容器中。
语法 | SSLProtocolDisable <protocolname> |
作用域 | 虚拟主机 |
缺省值 | 已禁用 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 每个虚拟主机允许多个实例。 |
值 | 为此伪指令提供了下列可能的值。
|
<VirtualHost *:443> SSLEnable SSLProtocolDisable SSLv2 SSLv3 (any other directives) </VirtualHost>
语法 | SSLProxyEngine on|off |
作用域 | IP-based 虚拟主机 |
缺省值 | 关闭 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 每个虚拟主机和全局服务器一个实例 |
值 | on|off |
语法 | SSLServerCert [prompt] my_certificate_label; on PKCS11 device - SSLServerCert mytokenlabel:mykeylabel |
作用域 | 基于 IP 的虚拟主机。 |
缺省值 | 无。 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 每个虚拟主机和全局服务器一个实例。 |
值 | 证书标签。使用 /prompt 选项使 HTTP Server 可以在启动期间提示您需要 Crypto 令牌密码。请不要在证书标签周围使用定界符。请确保该标签包含在一行中;忽略前导和尾随空格。 |
SSLStashfile 伪指令指示到文件的路径(具有文件名),该文件包含用于打开 PKCS11 设备的加密密码。
语法 | SSLStashFile /usr/HTTPServer/mystashfile.sth |
作用域 | 虚拟主机和全局服务器。 |
缺省值 | 无。 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 每个虚拟主机和全局服务器一个实例。 |
值 | 用 sslstash 命令创建的 LDAP 和/或 PKCS11 隐藏文件的文件名。 |
SSLStashFile 不指向正在使用的密钥文件的隐藏文件,因为它是自动根据密钥文件的名称计算出来的,且不同于隐藏文件的类型。
使用在 IBM HTTP Server 的 bin 目录中的 sslstash 命令,以创建您的 CRL 密码隐藏文件。使用 sslstash 命令指定的密码应该就是用于登录到 LDAP 服务器的密码。
用法:sslstash [-c] <directory_to_password_file_and_file_name> <function_name> <password>
请将 SSLStashFile 伪指令与 SSLCRLPort、SSLCRLHostname 和 SSLCRLUserID 伪指令一起用于基于 LDAP 的 CRL 存储库的静态配置。仅当显式 CRLDistributionPoint X.509v3 证书扩展不存在或在该扩展中指定的服务器无响应(不可用)时,才有必要使用这些伪指令来查询基于 LDAP 的 CRL 存储库。
如果 CRLDistributionPoint 扩展存在于证书中且该扩展中指定的服务器有响应(可用),那么在 CRLDistributionPoint 中指定的 LDAP 服务器会被匿名地查询,而不使用这些伪指令。
SSLTrace 伪指令在 mod_ibm_ssl 中启用调试记录。它与 LogLevel 伪指令配合使用。要在 mod_ibm_ssl 中启用调试记录,请将 LogLevel 设置为 debug 并将 SSLTrace 伪指令添加到 IBM HTTP Server 配置文件的全局作用域,放在 mod_ibm_ssl 的 Load模块 伪指令之后。通常在 IBM 支持机构调查 mod_ibm_ssl 的可疑问题时按他们的要求使用此伪指令。建议不要在正常工作情况下启用此伪指令。
语法 | SSLTrace |
作用域 | 全局 |
缺省值 | 未启用 mod_ibm_ssl 调试记录 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 已忽略 |
值 | 无 |
SSLV2Timeout 伪指令为 SSL V2 会话标识设置超时。
语法 | SSLV2Timeout 60 |
作用域 | 全局基础和虚拟主机。 |
缺省值 | 40 |
模块 | mod_ibm_ssl |
配置文件中的多个实例 | 每个虚拟主机和全局服务器一个实例。 |
值 | 0 到 100 秒。 |