高速缓存代理中的安全套接字层 (SSL)
安全套接字层 (SSL) 是一个系统,用于在通过因特网发送信息之前自动对其进行加密,并在使用前在另一端对其进行解密。 此系统在通过因特网传输信用卡号等敏感信息时对其进行保护。
高速缓存代理 使用 SSL 来保护代理服务器,并提供安全的远程管理,如以下部分中所述。 SSL 还可用于保护与后端服务器 (例如,内容或应用程序服务器) 的连接,以及保护代理服务器与其客户机之间的通信。
对于转发代理, Caching Proxy 支持 SSL 隧道传输,这将绕过 SSL 并转发已加密的数据而不改变该数据。
SSL 握手
当安全连接请求从一台机器发送到另一台机器时,将启动 SSL 保护。 例如,当浏览器向代理服务器发送请求时。 请求语法 https:// 而不是 http:// 指示浏览器在端口 443 上发送请求,这是服务器侦听安全连接请求的位置 (而不是用于例程请求的端口 80)。 为了在浏览器和服务器之间建立安全会话,两台机器执行称为 SSL 握手 的交换,以商定密码规范并选择用于加密和解密信息的密钥。 将自动生成密钥,这些密钥将在会话到期时到期。
- 客户您好
客户机通过发送描述客户机加密功能的客户机 Hello 消息来启动与 Caching Proxy 的 SSL 会话。
- 服务器 hello
服务器将其证书发送到客户机,并选择要用于数据加密的密码套件。
- 客户机完成
客户机发送用于为加密数据创建对称加密密钥的密码密钥信息。 此密钥资料称为预主密钥,使用服务器的公用密钥 (从服务器的证书获取; 请参阅密钥和证书管理) 对其进行加密。 服务器和客户机都可以从预主密钥派生读写对称加密密钥。
- 服务器完成
服务器发送整个握手协议的最终确认和消息认证代码 (MAC)。
- 客户机验证
客户机发送消息以验证服务器完成消息。
- 保护数据流
如果客户机验证服务器完成消息,那么将开始加密数据流。
使用 高速缓存代理 作为安全连接的端点可以减少内容或应用程序服务器上的负载。 当 高速缓存代理 维护安全连接时,它将执行加密,解密和密钥创建,这些都是 CPU 密集型操作。 高速缓存代理 还允许您配置 SSL 会话超时,以最大限度地使用每个密钥。
SSL 的限制
SSL 性能调整
在 HTTPS 流量高峰期间,缓存代理服务器可能会导致 CPU 使用率过高。 对环境变量 GSK_V3_SIDCACHE_SIZE )和代理指令 SSLV3Timeout )进行修改,可以帮助代理服务器处理负载并降低CPU使用率。
SSL 会话标识标识可复用的 SSL 会话,包括由浏览器和服务器使用的加密或解密密钥,用于避免在新连接上产生不必要的 SSL 握手,这将消耗服务器的大量 CPU 时间。 高速缓存代理服务器的 IBM Global Security Kit (GSKit) 库支持 SSL 会话标识并包含 SSL 会话标识高速缓存。 缺省情况下, SSL 会话标识高速缓存包含 512 个条目。 达到条目限制时,将除去最旧的会话条目,并将新条目添加到高速缓存中。
使用 GSK_V3_SIDCACHE_SIZE 环境变量来更改 SSL 会话标识高速缓存的缺省大小。 变量的有效值为 1-4096。 增大大小会增加查找高速缓存的 SSL 会话所需的查找时间。 但是,与建立 SSL 连接所需的开销相比,增加的查找时间微不足道。 增加缓存大小有助于代理服务器处理更多的并发SSL会话,并在代理服务器 HTTPS 负载较高时降低CPU使用率。
高速缓存代理还有一个可调伪指令 SSLV3Timeout。 (请参阅 SSLV3Timeout -- 指定在 SSLV3 会话到期之前等待的时间。) 伪指令的缺省值为 1000 秒。 此伪指令定义会话高速缓存中 SSL 会话的生存期。 如果没有入局 SSL 连接使用现有 SSL 会话,并且会话生存期超过该值,那么将从会话高速缓存中除去该会话。 建议将 SSLV3Timeout 值设置为典型安全客户机会话的长度。 如果超时设置得太短,那么可能会降低代理的性能,因为需要多个 SSL 握手会话才能完成单个安全会话。 但是,如果该值设置得太长,那么也会损害安全会话的安全性。
为代理服务器配置 SSL
当 高速缓存代理 用作代理时,可以使用安全套接字层来保护客户机与代理之间的请求和/或内容服务器与代理之间的请求。 要启用 SSL ,必须首先创建密钥数据库并创建或获取证书。
Application Server 分发版包含用于管理密钥和证书的 IBM Global Security Kit (GSKit) 实用程序。 有关更多信息,请参阅 密钥和证书管理。
建立密钥数据库和证书后,要为代理代理服务器配置 SSL ,请在 " 配置和管理 " 表单中选择 代理配置 -> SSL 设置。 在 SSL 设置 表单上,选中 启用 SSL 框,并在提供的字段中输入密钥环数据库文件和密码文件的路径名。 (可选) 可以指定 SSL 会话的超时值。 (如果服务器重新创建密钥所花费的时间过多,那么您可能希望在 SSL 超时 V3 会话 字段中增大超时值。)
您还可以指定服务器是否尝试高速缓存安全请求的内容。 虽然高速缓存可以提高性能,但敏感材料的高速缓存可能会造成安全风险。 您可以使用高速缓存过滤器来控制从安全请求高速缓存的文件类型,方法是为使用 https:// 的 URL 创建过滤器 (要指定高速缓存过滤器,请在 " 配置和管理 " 表单中选择 高速缓存配置 -> 高速缓存过滤器)。 代理服务器的 SSL 高速缓存设置会影响在该代理服务器上终止的所有连接,无论这些连接是使用客户机进行的还是使用内容服务器进行的。
对多个域的 SSL 支持
先前,无法使单个 Caching Proxy 服务器充当提供个别 SSL 证书的多个域的代理。 此限制不再适用。 高速缓存代理充当多个域的代理,现在可以根据请求发送到的域来确定要处理的正确证书。 此新功能是使用 ibmproxy.conf 文件中的 SSLCertificate 伪指令配置的。 请参阅 SSLCertificate -- 指定证书的密钥标签 以获取详细信息。
在保护掩码中使用 IP 范围
MASK ALL@"9.38.[100-192,202,203].[0-255]", @"9.38.[0-99],193-201,204-255].
[0-255]",@"[0-8,20-255].[0-37,39-255].[0-255].[0-255]"在此示例中,请注意方括号 ([]) 将范围括起; 引号 ("") 将测距 IP 模板括起来,并且在测距 IP 模板中 不 允许使用空格。 请注意, MASK 子伪指令不得包含换行符。 如需了解更多详情,请参阅《指令参考》一章中的 “掩码——指定允许发出 HTTP 请求的用户名、组和地址 ”。9.*.[32,33].154 。启用 SSL 时禁用侦听器线程
启用SSL(通常在端口443上)时, 缓存代理管理员可以使用此新功能禁用标准 HTTP 请求(通常在端口80或8080上)的侦听线程。 在执行安全事务的服务器上运行活动的 HTTP线程可能会导致网站不安全。 禁用这些侦听器线程的能力可增强服务器安全性。 启用SSL时,使用SSLOnly指令禁用标准 HTTP 请求的侦听线程。
配置 SSL 后,必须完全停止服务器,然后在更改生效之前再次启动服务器,因为简单重新启动操作不会更改 SSL 设置。
- KeyRing -- 指定密钥环数据库的文件路径
- KeyRingStash-- 指定密钥环数据库的密码文件的文件路径
- SSLCaching-对安全请求启用高速缓存
- SSLEnable -- 指定在端口 443 上侦听安全请求
- SSLV2Timeout -- 指定在 SSLV2 会话到期之前等待的时间
- SSLV3Timeout -- 指定在 SSLV3 会话到期之前等待的时间
- SSLVersion-指定 SSL 的版本
- V2CipherSpecs -列出 SSL 版本的受支持密码规范 2
- V3CipherSpecs -列出 SSL 版本的受支持密码规范 3
- SSLCertificate -- 指定证书的密钥标签
- SSLOnly——禁用 HTTP 请求的侦听线程
客户机端证书认证
此功能允许 高速缓存代理 通过 SSL 会话检索客户机端公用密钥基础结构 (PKI) 证书。 然后,此证书用于认证客户机。 要求客户机提供 PKI 证书通过保证客户机的认证来提高服务器安全性。 使用 SSLCertificate 伪指令来指定代理服务器是否检索客户机端 PKI 证书。
SSL 隧道
当 高速缓存代理 配置为转发代理时,它将使用 SSL 隧道来支持客户机与内容服务器之间的安全连接。 在 SSL 隧道中,加密数据将通过代理服务器传递而不改变。 因为代理服务器不会对数据进行取消加密,所以在 SSL 隧道中不支持要求代理服务器读取请求或文档头的功能。 此外,不会高速缓存隧道传送的请求。
这仅适用于转发代理配置。

- 客户机发出隧道请求:
CONNECT server-host-name:port HTTP/1.1(或 HTTP/1.0)。 端口号是可选的,通常为 443。 如果浏览器中配置了转发代理,则客户端浏览器在发出每个 HTTPS 请求时,都会自动首先向代理服务器发送CONNECT请求。 - 代理在其端口 80 上接受连接,接收请求,并连接到客户机请求的端口上的目标服务器。
- 代理将回复到已建立连接的客户机。
- 代理会双向中继 SSL 握手消息: 从客户机到目标服务器,以及从目标服务器到客户机。
- 安全握手完成后,代理发送并接收要在客户机或目标服务器上解密的加密数据。
- 如果客户机或目标服务器在任一端口上请求关闭,那么代理服务器将关闭两个连接 (端口 443 和 80) 并恢复其正常活动。
配置 SSL 隧道
在正向代理设置中,只有 SSL 隧道可用。 要启用 SSL 隧道,请在 " 配置和管理 " 表单中选择 代理配置 -> 代理设置。 选中 SSL 隧道 复选框。
对于 SSL 隧道连接,还必须启用 CONNECT 方法 (缺省情况下禁用) 。 要在配置表单中启用它,请选择 “服务器配置 ”-> “请求处理 ”,并使用 HTTP。
OutgoingPorts, OutgoingIPs和 IncomingIPs)。 需要为至少 OutgoingPorts指定值,否则将不会启用 CONNECT 方法。 - OutgoingPorts (用于限制远程服务器端口对 SSL 隧道的访问)。 格式为:
要允许客户机仅连接到远程服务器的端口 443 以进行 SSL 隧道传送,请设置以下伪指令。 (通常情况下,端口443用于远程服务器上的 HTTPS 请求。)Enable CONNECT OutgoingPorts [all | [port1|port1-port2|port1-*],...]
要允许客户机连接到远程服务器上的任何端口以进行 SSL 隧道传送,请设置以下伪指令:Enable CONNECT OutgoingPorts 443 SSLTunneling on
要允许客户机连接到远程服务器上用于 SSL 隧道的端口 80,8080-8088 和 9000 及更高版本的端口,请设置以下伪指令:Enable CONNECT OutgoingPorts all SSLTunneling onEnable CONNECT OutgoingPorts 80,8080-8088,9000-* SSLTunneling on端口和端口范围之间用逗号分隔,列表中没有任何空格。
要点: 对于转发代理配置,请至少指定
443或allwithOutgoingPorts选项以启用正常 SSL 隧道。 - OutgoingIPs (用于限制远程服务器的 IP 地址对 SSL 隧道的访问)。 格式为:
例如,要允许客户机连接到与 IP/ 主机名Enable CONNECT OutgoingIPs [[!]IP_pattern,...]*.ibm.com匹配且不能与192.168.*.*匹配的远程服务器上的任何端口,请设置以下伪指令:Enable CONNECT OutgoingPorts all OutgoingIPs *.ibm.com,!192.168.*.* SSLTunneling on注: IP_patterns 用逗号分隔,列表中没有任何空格。 - IncomingIPs (用于限制客户机 IP 地址对 SSL 隧道的访问)。 格式为:
例如,要允许来自 IP 地址Enable CONNECT IncomingIPs [[!]IP_Pattern,...]192.168.*.*的客户机连接到远程服务器上的任何端口以进行 SSL 隧道传送,请设置以下伪指令:Enable CONNECT OutgoingPorts all IncomingIPs 192.168.*.* SSLTunneling on注:- 假定
192.168.*.*是内部 LAN IP 掩码。 上述选项仅允许内部用户使用连接方法和 SSL 隧道功能。 - IP_patterns 由逗号分隔,列表中没有任何空格。
- 假定
配置安全远程管理
可以使用安全套接字层 (SSL) 和密码认证提供的安全性功能来实现 高速缓存代理 的远程管理。 这显着降低了未经授权的人员访问代理服务器的概率。
https://
your.server.name
/
yourFrontPage.html
密钥和证书管理
在配置 SSL 之前,必须设置密钥数据库,并获取或创建证书。 证书用于认证服务器身份。 使用 IBM Key Management 实用程序 (有时称为 iKeyman) 来设置证书文件。 此实用程序是 Java Development Kit (JDK) 的一部分。 iKeyman 还包含用于打开证书文件的基于 Java 的图形界面。
- 确保您具有 IBM JDK 版本 1.6 或更高版本。
- 使用密钥管理器来创建用于安全网络通信的密钥,并从认证中心接收证书。 您可能决定在等待接收来自权限的证书时创建自签名证书。
- 创建密钥数据库并指定密钥数据库密码。
在除 Linux以外的所有操作系统上,如果证书已到期,那么 Caching Proxy 将无法正确启动,并且将显示一条错误消息,指示密钥数据库已到期。 在 Linux上,代理似乎已启动,但进程很快会消失,并且不会生成错误消息。
- libstdc++-3.2.3-52
- libgcc-3.2.3-52
证书颁发机构
公用密钥必须与服务器上指定为可信根 CA 的认证中心 (CA) 的数字签名证书相关联。 您可以通过向认证中心 (CA) 提供者提交证书请求来购买签名证书。
- VeriSign
- 塔韦特
- Verisign 类 1 个别订户 CA-未验证角色
- Verisign 类 2 个别订户 CA-未验证角色
- Verisign 类 3 个别订户 CA-未验证角色
- VeriSign 类 3 国际服务器 CA
- VeriSign 类 2 OnSite 单个 CA
- VeriSign 类 1 公共主 CA
- VeriSign 类 2 公共主 CA
- VeriSign 类 3 公共主 CA
- VeriSign 类 1 公共主 CA- G2
- VeriSign 类 2 公共主 CA- G2
- RSA Secure Server CA (来自 VeriSign)
- thawte personal basic ca
- thawte personal freemail ca
- thawte personal premium ca
- thawte premium server ca
- thawte server ca
使用 IBM Key Manager 实用程序
本部分提供了使用 IBM Key Manager 实用程序 (iKeyman) 的快速参考。 使用密钥管理器来创建 SSL 密钥数据库文件,公用-专用密钥对和证书请求。 收到 CA 签名的证书后,请使用密钥管理器将该证书放在创建原始证书请求的密钥数据库中。
有关 IBM Key Manager 和 IBM Global Security Kit (GSKit) 的更多详细文档随 GSKit 软件打包在一起。
设置系统以运行密钥管理器
- 安装 IBM JDK 版本 1.6 或更高版本。 您可以使用负载均衡器产品随附的 Java 包。
- 将 JAVA_HOME 设置为 Java 目录位置。 例如:
- 对于 Windows 平台:
set JAVA_HOME=C:\Program Files\IBM\edge\lb\java - 对于 AIX®, HP-UX, Linux和 Solaris 平台:
export JAVA_HOME=/opt/ibm/edge/lb/java/
- 对于 Windows 平台:
- 注册 IBM JCE , IBM CMS和 IBMJCEFIPS 服务提供者。
更新 JAVA_HOME/jre/lib/security/java.security 文件,以在以下示例中显示的位置添加 IBM CMS 和 IBM JCE 提供程序:
security.provider.1=com.ibm.jsse2.IBMJSSEProvider2
security.provider.2=com.ibm.security.cmskeystore.CMSProvider
security.provider.3=com.ibm.crypto.provider.IBMJCE
security.provider.4=com.ibm.security.jgss.IBMJGSSProvider
security.provider.5=com.ibm.security.cert.IBMCertPath - 要启用 FIPS 操作,请更新 JAVA_HOME/jre/lib/security/java.security 文件以同时添加 IBMJCEFIPS。 请确保以高于 IBMJCE 的优先级注册 IBMJCEFIPS 提供程序。 例如:security.provider.1=com.ibm.jsse2.IBMJSSEProvider2
security.provider.2=com.ibm.security.cmskeystore.CMSProvider
security.provider.3=com.ibm.crypto.fips.provider.IBMJCEFIPS
security.provider.4=com.ibm.crypto.provider.IBMJCE - 可选: 如果您正在使用加密硬件,请注册 IBMPKCS11Impl 服务提供者。 例如:security.provider.1=com.ibm.jsse2.IBMJSSEProvider2
security.provider.2=com.ibm.security.cmskeystore.CMSProvider
security.provider.3=com.ibm.crypto.fips.provider.IBMJCEFIPS
security.provider.4=com.ibm.crypto.provider.IBMJCE
security.provider.5=com.ibm.crypto.pkcs11Impl.provider.IBMPKCS11Impl
security.provider.6=com.ibm.security.jgss.IBMJGSSProvider
security.provider.7=com.ibm.security.cert.IBMCertPath
启动密钥管理器
通过从 JDK 运行 iKeyman 工具来启动密钥管理器图形用户界面。 例如,使用以下命令:
创建新的密钥对和证书请求
- 如果尚未创建密钥数据库,请遵循 创建新的密钥数据库,密码和隐藏文件中的指示信息。
- 在密钥管理实用程序的主菜单中,单击 密钥数据库 -> 文件 -> 打开。
- 在 " 打开 " 对话框中,输入密钥数据库名称 (如果使用的是缺省值,请单击 key.kdb )。 单击确定。
- 在 " 密码提示 " 对话框中,输入密码,然后单击 确定。
- 从主菜单中,单击 创建 -> 新建证书请求。
- 在 " 新建密钥和证书请求 " 对话框中,指定以下内容:
- 密钥标签: 输入用于在数据库中标识密钥和证书的名称 (标签): 例如,
my self-signed certificate或www.companyA.com。 - 密钥大小: 密钥的大小,例如
1024。 (为了利用 128 位加密,建议使用密钥大小 1024。) - 组织名称: 要与密钥关联的组织的名称,例如,
Company A。 - 组织单元 (可选)
- Locality (可选)
- 省/直辖市/自治区 (可选)
- Zipcode (可选)
- 国家或地区: 您的国家或地区代码。 必须至少指定 2 个字符,例如
US。 - 证书请求文件名: 请求文件的名称。 (可选) 可以使用缺省名称。
- 密钥标签: 输入用于在数据库中标识密钥和证书的名称 (标签): 例如,
- 单击确定。 将显示确认消息:
A new certificate request has been successfully created in the file keyfile_database_name . - 单击确定。 期望您输入的标签名称显示在 个人证书请求 标题下。
- 在 " 信息 " 对话框中,单击 确定。 提醒您将文件发送到认证中心。
- 除非您 创建了自签名证书,否则请将证书请求发送到 CA:
- 使密钥管理器保持运行。
- 启动浏览器,输入您要从中获取证书URL。
- 遵循 CA 提供的指示信息来发送证书请求。
创建自签名证书
使用密钥管理实用程序来创建自签名服务器证书,以在等待发放证书时在客户机与代理服务器之间启用 SSL 会话。 您还可以将自签名证书用于测试目的。
- 如果尚未创建密钥数据库,请遵循 创建新的密钥数据库,密码和隐藏文件中的指示信息。
- 在密钥管理实用程序的主菜单中,单击 密钥数据库 -> 文件 -> 打开。
- 在 打开 对话框中,输入密钥数据库名称 (或者接受缺省值 key.kdb)。 单击确定。
- 在 " 密码提示 " 对话框中,输入密码,然后单击 确定。
- 在 " 密钥数据库 " 内容框架中,选择 个人证书 ,然后单击 创建新的自签名证书。
- 在 " 新建自签名证书 " 窗口中,指定以下内容:
- 密钥标签: 用于标识数据库中的密钥和证书的名称 (标签): 例如,
my self-signed certificate - 密钥大小: 密钥的大小,例如
512。 - 公共名称: 服务器的完整主机名,例如,
www.myserver.com - 组织名称: 要与密钥关联的组织的名称,例如
Company A - 组织单元 (可选)
- Locality (可选)
- 省/直辖市/自治区 (可选)
- Zipcode (可选)
- 国家或地区: 您的国家或地区代码。 必须至少指定两个字符,例如, US。
- 有效期: 证书有效的时间段。
- 密钥标签: 用于标识数据库中的密钥和证书的名称 (标签): 例如,
- 单击确定。
- 通过将密钥文件和隐藏文件添加到配置设置,向服务器注册密钥数据库 (请参阅 创建新的密钥数据库,密码和隐藏文件)。
导出密钥
- 启动密钥管理实用程序。
- 从主菜单中,单击 密钥数据库文件 -> 打开。
- 在 打开 对话框中,输入密钥数据库名称 (或者接受缺省值 key.kdb)。 单击确定。
- 在 " 密码提示 " 对话框中,输入密码,然后单击 确定。
- 在 " 密钥数据库 " 内容框架中,选择 个人证书,然后单击标签上的 导出/导入 按钮。
- 在 " 导出/导入密钥 " 窗口中:
- 选择 导出密钥。
- 选择目标数据库类型 (例如, PKCS12)。
- 输入文件名或单击 浏览 以将其选中。
- 输入正确的位置。
- 单击确定。
- 在 " 密码提示 " 对话框中,输入正确的密码,再次输入密码以进行确认,然后单击 确定 以将所选密钥导出到另一个密钥数据库。
导入密钥
- 启动密钥管理实用程序。
- 从主菜单中,选择 密钥数据库文件 -> 打开。
- 在 打开 对话框中,输入密钥数据库名称 (或者接受缺省值 key.kdb)。 单击确定。
- 在 " 密码提示 " 对话框中,输入正确的密码,然后单击 确定。
- 在 " 密钥数据库 " 内容框架中,选择 个人证书,然后单击标签上的 导出/导入 按钮。
- 在 " 导出/导入密钥 " 窗口中:
- 选择 导入密钥。
- 选择密钥数据库文件类型 (例如, PKCS12)。
- 输入文件名或单击 浏览 以将其选中。
- 选择正确的位置。
- 单击确定。
- 在 " 密码提示 " 对话框中,输入正确的密码,然后单击 确定。
- 在 从密钥标签中选择 列表中,选择正确的标签名称,然后单击 确定。
列示认证中心
- 启动密钥管理实用程序。
- 从主菜单中,单击 密钥数据库文件 -> 打开。
- 在 打开 对话框中,输入密钥数据库名称 (或者接受缺省值 key.kdb)。 单击确定。
- 在 " 密码提示 " 对话框中,输入正确的密码,然后单击 确定。
- 在 " 密钥数据库 " 内容框架中,选择 签署者证书。
- 单击 签署者证书, 个人证书或 证书请求 以在 " 密钥信息 " 窗口中查看 CA 列表。
使用此过程从缺省情况下指定为可信 CA 的认证中心 (CA) 接收以电子方式发送给您的证书 (请参阅 认证中心中的列表)。 如果发放 CA 签名证书的 CA 不是密钥数据库中的可信 CA ,那么必须首先存储 CA 的证书并将该 CA 指定为可信 CA。 然后,您可以将 CA 签名的证书接收到数据库中。 不能从非可信 CA 的 CA 接收 CA 签名的证书 (请参阅 存储 CA 证书)。
- 启动密钥管理实用程序。
- 从主菜单中,选择 密钥数据库文件 -> 打开。
- 在 打开 对话框中,输入密钥数据库名称 (或者接受缺省值 key.kdb)。 单击确定。
- 在 " 密码提示 " 对话框中,输入密码,然后单击 确定。
- 确保 DB-Type 列表中的文件名正确。
- 在 " 密钥数据库 " 窗口中,选择 个人证书,然后单击 接收。
- 在 " 从文件接收证书 " 对话框中,在 证书文件名 文本字段中输入有效的基本 64 位编码文件的名称。 单击确定。
- 要关闭密钥管理器实用程序,请从主菜单中单击 密钥数据库文件 -> 退出。
在密钥数据库中显示缺省密钥
- 启动密钥管理实用程序。
- 从主菜单中,单击 密钥数据库文件 -> 打开。
- 在 打开 对话框中,输入密钥数据库名称 (或者接受缺省值 key.kdb)。 单击确定。
- 在 " 密码提示 " 对话框中,输入密码,然后单击 确定。
- 在 " 密钥数据库 " 内容框架中,选择 个人证书 ,然后选择 CA 证书标签名称。
- 在 " 密钥信息 " 窗口中,单击 查看/编辑 以显示证书缺省密钥信息。
创建新的密钥数据库,密码和隐藏文件
密钥数据库是一个文件,服务器使用它来存储一个或多个密钥对和证书。 您可以将一个密钥数据库用于所有的密钥对和证书,也可以创建多个数据库。 密钥管理实用程序用于创建新的密钥数据库并指定其密码和隐藏文件。
- 启动密钥管理实用程序。
- 从主菜单中,选择 密钥数据库文件 -> 新建。
- 在 " 新建 " 对话框中,确保选择文件类型 CMS 密钥数据库 。 输入密钥数据库名称和文件位置,或者接受缺省值 key.kdb。 单击确定。
- 在 密码提示 对话框中,输入并确认此数据库的密码。 单击确定。
- 选中此复选框以隐藏密码文件。 提示时,输入并确认用于验证的密码。 显示以下消息:
DB-Type: CMS key database file keyfile_database_name注: 如果不隐藏密码文件,那么服务器将启动,但不会侦听端口 443。
您在创建新密钥数据库时指定的密码将保护专用密钥。 专用密钥是唯一可以对使用公用密钥加密的文档进行签名或解密消息的密钥。
- 密码必须由美国英语字符集组成。
- 密码长度必须至少为 6 个字符,并且至少包含两个非连续数字。 确保密码不包含可公开获取的有关您的信息,例如您的姓名或直系亲属的姓名,缩写或出生日期。
- 存储密码。
最好经常更改密钥数据库密码。 但是,如果指定密码的到期日期,请保留更改时间的记录。 如果密码在更改之前到期,那么会将消息写入错误日志并启动服务器,但无法建立安全网络连接。
- 从主菜单中,单击 密钥数据库文件 -> 打开。
- 在 打开 对话框中,输入密钥数据库名称或接受缺省值 key.kdb。 单击确定。
- 在 " 密码提示 " 对话框中,输入已建立的密码,然后单击 确定。
- 从主菜单中,单击 密钥数据库文件 -> 更改密码。
- 在 " 更改密码 " 对话框中,输入并确认新密码。 单击确定。
对于代理与 LDAP 服务器之间的 SSL 连接,请将密钥数据库密码放在 pac_keyring.pwd 文件中。 ( pac_keyring.pwd 文件不是 iKeyman生成的隐藏文件。)
接收 CA 证书
使用此过程从认证中心 (CA) 接收以电子方式向您发送的证书,缺省情况下,该认证中心在认证中心列表中指定为可信 CA。 如果发放 CA 签名证书的 CA 不是密钥数据库中的可信 CA ,那么必须首先存储 CA 的证书并将该 CA 指定为可信 CA。 然后,可以该 CA 签名证书接收到数据库中。
您不能接收来自非可信 CA 的 CA 签名证书。 请参阅 存储 CA 证书。
要将 CA 签名的证书接收到密钥数据库中,请执行以下操作:
- 启动密钥管理实用程序。
- 从主菜单中,选择 。
- 在 打开 对话框中,输入密钥数据库名称 (或者接受缺省值 key.kdb)。 单击确定。
- 在 " 密码提示 " 对话框中,输入密码,然后单击 确定。
- 确保 DB-Type 列表中的文件名正确。
- 在 " 密钥数据库 " 窗口中,选择 个人证书,然后单击 接收。
- 在 " 从文件接收证书 " 对话框中,在 证书文件名 文本字段中输入有效的基本 64 位编码文件的名称。 单击确定。
- 要关闭密钥管理器实用程序,请从主菜单中单击 。
存储 CA 证书
仅接受可信 CA 签署的证书以建立安全连接。 要将 CA 添加到可信权限列表中,必须获取其证书并将其存储为可信证书。
- 启动密钥管理实用程序。
- 从主菜单中,单击 。
- 在 打开 对话框中,输入密钥数据库名称 (或者接受缺省值 key.kdb)。 单击确定。
- 在 " 密码提示 " 对话框中,输入密码,然后单击 确定。
- 在 " 密钥数据库 " 内容框架中,选择 签署者证书,然后单击 添加。
- 在 " 从文件添加 CA 证书 " 对话框中,选择基本 64 位编码的 ASCII 数据证书文件名,或者使用 浏览 选项。 单击确定。
- 在 " 标签 " 对话框中,输入标签名称,然后单击 确定。
- 使用该复选框将证书指定为可信证书 (缺省值)。注: 使用 "查看/编辑" 按钮在创建证书后查看复选框。 此复选框列示在面板上,但在添加证书期间不会显示此复选框。
受支持的密码规范
下表列出了用于 SSL 版本 2 和 3 的加密算法和散列。
密钥对生成 :RSA 512-1024 专用密钥大小
| 美国版本 | 导出版本 |
|---|---|
| RC4 (英文) | RC4 导出 |
| RC2 (英文) | RC2 导出 |
| DES 56 位 | 不适用 |
| 三重 DES 美国 | 不适用 |
| RC4 导出 | 不适用 |
| RC2 导出 | 不适用 |
| 美国版本 | 导出版本 |
|---|---|
| 三重 DES SHA (美国) | DES SHA 导出 |
| DES SHA 导出 | RC2 MD5 导出 |
| RC2 MD5 导出 | RC4 MD5 导出 |
| RC4 SHA (美国) | 空 SHA |
| RC4 MD5 (英文) | NULL MD5 |
| RC4 MD5 导出 | null NULL |
| RC4 SHA 56 位 | 不适用 |
| DES CBC SHA | 不适用 |
| 空 SHA | 不适用 |
| NULL MD5 | 不适用 |
| null NULL | 不适用 |
还可以通过直接编辑代理配置文件来配置这些 SSL 规范。 有关详细信息,请参阅 配置文件伪指令中的参考部分。
针对高速缓存代理的 128 位加密
仅交付 128 位加密版本的 Caching Proxy 。 56 位版本不再可用。 如果要更新先前版本,那么可以将 Caching Proxy 直接安装到当前安装的 128 位或 56 位版本。 如果先前使用的是 56 位 (导出) 浏览器,那么必须升级到 128 位浏览器以利用代理中的 128 位加密。
- 启动密钥管理器。 例如,使用以下命令:/opt/ibm/edge/lb/java/jre/bin/ikeyman
- 从主菜单中,单击 密钥数据库文件 -> 打开。
- 在 " 打开 " 对话框中,输入密钥数据库名称 (如果使用的是缺省值,请单击 key.kdb ) ,然后单击 确定。
- 如果打开 " 密码提示 " 对话框,请输入密码并单击 确定。
- 从主菜单中,单击 创建 -> 新建证书请求。
- 在 " 新建密钥和证书请求 " 窗口中,指定以下内容:
- 密钥标签: 输入用于标识数据库中的密钥和证书的名称。
- 密钥大小: 选择 1024。
- 组织名称: 输入要与密钥关联的组织的名称。
- 国家或地区: 输入您的国家或地区代码。 必须至少指定两个字符,例如
US。 - 证书请求文件名: 输入请求文件的名称,或者 (可选) 使用缺省名称。
- 单击确定。
此版本的产品在 SUSE Linux上不支持加密。