14.3. 打开子系统控制台和服务
每个子系统具有不同的接口来访问不同的用户类型。除 TKS 外,所有子系统都有某种类型的用于代理、管理员或最终用户(或全部三个)的网页。此外,CA、KRA、OCSP 和 TKS 都有一个基于 Java 的控制台,必须安装到服务器上,以执行管理任务来管理子系统本身。
可以自定义子系统的基于 Web 的服务页面的功能,以便更好地与机构的现有网站集成。请参阅 Red Hat Certificate System Planning、安装和部署指南。
14.3.1. 查找子系统网页
CA、KRA、OCSP、TKS 和 TPS 子系统具有用于代理、常规用户和管理员的网页。可以通过子系统的安全最终用户端口打开子系统主机的 URL 来访问这些 Web 服务菜单。例如,对于 CA:
https://server.example.com:8443/ca/services
每个子系统的主要 Web 服务页面都有可用服务页面列表;这些内容在 表 14.1 “默认网页” 中进行了概述。要专门访问任何服务,请访问适当的端口,并将适当的目录附加到 URL。例如,访问 CA 的最终实体(管理用户)Web 服务:
https
://server.example.com:8443/ca/ee/ca
如果正确配置了 DNS,则可以使用 IPv4 或 IPv6 地址连接到服务页面。例如:
https://1.2.3.4:8443/ca/services https://[00:00:00:00:123:456:789:00:]:8443/ca/services
有些子系统接口需要客户端身份验证才能访问它们,通常是与代理或管理员角色关联的接口。其他接口,即使那些在安全(SSL 连接)上运行的接口也不需要客户端身份验证。其中一些接口(如最终实体服务)可以配置为需要客户端身份验证,但其他接口无法配置为支持客户端身份验证。这些区别在 表 14.1 “默认网页” 中记录。
注意
任何人都可以访问子系统的最终用户页面,但访问代理或管理员网页都需要在 Web 浏览器中发布并安装代理或管理员证书,或者对 Web 服务进行身份验证会失败。
用于 SSL | 用于客户端身份验证[a] | Web Services | Web 服务位置 |
---|---|---|---|
证书管理器 | |||
否 | 结束实体 | ca/ee/ca/ | |
是 | 否 | 结束实体 | ca/ee/ca |
是 | 是 | 代理 | ca/agent/ca |
是 | 否 | 服务 | ca/services |
是 | 否 | 控制台(Console) | pkiconsole https://host:port/ca |
密钥恢复授权 | |||
是 | 是 | 代理 | kra/agent/kra |
是 | 否 | 服务 | kra/services |
是 | 否 | 控制台(Console) | pkiconsole https://host:port/kra |
在线证书状态管理器 | |||
是 | 是 | 代理 | ocsp/agent/ocsp |
是 | 否 | 服务 | ocsp/services |
是 | 否 | 控制台(Console) | pkiconsole https://host:port/ocsp |
令牌密钥服务 | |||
是 | 否 | 服务 | tks/services |
是 | 否 | 控制台(Console) | pkiconsole https://host:port/tks |
令牌处理系统 | |||
是 | 服务 | index.cgi | |
14.3.2. 启动证书系统管理控制台
重要
pkiconsole
已被弃用。
Console 通过 pkiconsole 命令通过其 SSL 端口连接到子系统实例来打开。这个命令的格式如下:
pkiconsole https://server.example.com:admin_port/subsystem_type
subsystem_type 可以是 ca、kra、ocsp 或 tks。例如,这会打开 KRA 控制台:
pkiconsole https://server.example.com:8443/kra
如果正确配置了 DNS,则可以使用 IPv4 或 IPv6 地址连接到控制台。例如:
pkiconsole https://1.2.3.4:8443/ca pkiconsole https://[00:00:00:00:123:456:789:00:]:8443/ca
14.3.3. 为 Java 管理控制台启用 SSL
可以启用对证书系统控制台的基于证书的身份验证,以便管理员必须在登录到证书系统控制台之前使用客户端证书进行身份验证。在启用基于证书的身份验证前存储管理员的证书。
要在控制台中启用 SSL,请同时配置客户端和服务器。
重要
如果为通过管理端口的客户端身份验证配置了 CA,并且 CA 是安全域管理器,则无法将 该 CA 用于其安全域的新 PKI 子系统。新的 PKI 实例通过管理端口将自身注册到安全域 CA,但不使用客户端身份验证。如果 CA 需要客户端身份验证,则注册尝试会失败。
首先,将证书系统服务器设置为使用 SSL 客户端身份验证:
- 使用此系统为任何管理员存储证书。证书应来自 CA 本身,或从哪个 CA 为子系统签名证书。
- 打开子系统控制台。
- 选择左侧的 Users and Groups 选项。
- 在 Users 选项卡中,选择管理用户,然后单击 。
- 点。
- 粘贴到 base-64 编码的 SSL 客户端证书,如存储在 Web 浏览器中的管理员证书。
确保客户端证书非常适合 SSL 客户端证书;否则,服务器将不接受客户端证书,并将在/var/log/
instanceID/system
中的错误日志中收到错误消息:failure (14290): Error receiving connection SEC_ERROR_INADEQUATE_CERT_TYPE - Certificate type not approved for application.)
- 停止子系统。
pki-server stop instance_name
- 打开实例配置目录
/var/lib/pki/instance_name/subsystem_type/conf
。 - 打开文件
CS.cfg
。 - 将 authType 参数的值从 pwd 改为 sslclientauth :
authType=sslclientauth
- 保存该文件。
- 打开
server.xml
文件。 - 在 admin 接口连接器部分将 clientAuth="false" 属性改为 clientAuth="want" :
<Connector port="8443" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" acceptCount="100" scheme="https" secure="true"
clientAuth="want"
sslProtocol="SSL" ..... serverCertFile="/var/lib/pki/pki-tomcat/conf/serverCertNick.conf" passwordFile="/var/lib/pki/pki-tomcat/conf/password.conf" passwordClass="org.apache.tomcat.util.net.jss.PlainPasswordFile" certdbDir="/var/lib/pki/pki-tomcat/alias"/>want 值表示客户端身份验证是首选的,但不需要。这允许客户端通过可轻松使用它的接口进行身份验证(如控制台),同时仍允许不支持客户端身份验证(安全域中的其他子系统)使用常规连接进行连接。 - 启动子系统。
pki-server start instance_name
设置服务器后,将客户端配置为使用 SSL 客户端身份验证。
控制台必须有权访问用于向服务器 SSL 客户端身份验证的管理员证书和密钥。控制台的默认证书和密钥数据库存储在
.redhat-idm-console
目录中。
若要提供对管理员证书和密钥的访问权限,请将它们从管理员的浏览器导出到
.p12
文件,然后使用 pk12util 导入,或者将浏览器的证书和密钥数据库复制到 .redhat-idm-console
目录中。(这个过程假设证书是从浏览器导出到 .p12
文件。)
- 将管理员用户证书和密钥从浏览器导出到文件中,如
admin.p12
。 - 打开用户的控制台目录。
/user-directory/.redhat-idm-console
- 如有必要,创建新的安全数据库。
certutil -N -d .
- 停止证书系统实例。
pki-server stop instance_name
- 使用 pk12util 导入证书。
# pk12util -i /tmp/admin.p12 -d /user-directory/.redhat-idm-console -W [p12filepassword]
如果过程成功,命令会输出以下内容:pk12util: PKCS12 IMPORT SUCCESSFUL
- 从浏览器导出发布 CA 证书的 64 位 blob,并将它保存到
ca.crt
等文件中。 - 从与 admin 用户证书关联的基本 64blob 中导入 CA 证书。
certutil -A -d . -n ca -t CT,C,C -i ./ca.crt
- 启动证书系统实例。
pki-server start instance_name
- 启动控制台;现在,它提示输入证书。