11.3. 为 CA、OCSP、KRA 或 TKS 管理用户和组
用户可以执行的操作的许多操作都由他们所属的组指定;例如,CA 的代理管理证书和密钥,而管理员则管理 CA 服务器配置。
四个子系统 - CA、OCSP、KRA 和 TKS - 使用 Java 管理控制台管理组和用户。TPS 具有基于 Web 的管理服务,用户和组通过其 Web 服务页面进行配置。
11.3.1. 管理组 复制链接链接已复制到粘贴板!
11.3.1.1. 创建新组 复制链接链接已复制到粘贴板!
登录到管理控制台。
pkiconsole -d nssdb -n 'optional client cert nickname' https://server.example.com:8443/subsystem_type
# pkiconsole -d nssdb -n 'optional client cert nickname' https://server.example.com:8443/subsystem_typeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意pkiconsole已被弃用,并将在以后的主发行版本中被新的基于浏览器的 UI 替代。虽然pkiconsole在发布替代 UI 之前继续可用,但我们鼓励在此鼓励使用命令行与pkiconsole等效,因为 pki CLI 将继续支持并在将来有新的基于浏览器的 UI 时受到改进。- 从左侧的导航菜单中选择 Users and Groups。
- 选择 Groups 选项卡。
单击 ,然后填写组信息。
只能添加内部数据库中已存在的用户。
- 编辑 ACL 以授予组特权。请参阅 第 11.4.3.1 节 “编辑 ACL” 了解更多信息。如果没有将 ACI 添加到组的 ACL 中,则组对证书系统的任何部分都没有访问权限。
11.3.1.2. 更改组中的成员 复制链接链接已复制到粘贴板!
可以从所有组添加或删除成员。管理员的组必须至少有一个用户条目。
- 登录到管理控制台。
- 从左侧的导航树中选择" 用户和组 "。
- 点 Groups 选项卡。
- 从名称列表中选择组,然后单击 。
进行适当的更改。
- 要更改组描述,请在 Group description 字段中键入新描述。
- 若要从组中删除用户,请选择用户,然后单击 。
- 要添加用户,请单击 。从对话框中选择要添加的用户,。
11.3.2. 管理用户(管理员、代理和审核员) 复制链接链接已复制到粘贴板!
每个子系统的用户单独维护。只是因为一个子系统中的管理员并不意味着个人具有其他子系统的任何权利(甚至用户条目)。用户可以配置,并与其用户证书(被信任为代理、管理员或子系统审核员)进行配置。
11.3.2.1. 创建角色用户 复制链接链接已复制到粘贴板!
安装证书系统后,只有设置中创建的 bootstrap 用户存在。要创建其他角色用户,您可以使用命令行或控制台。在本小节中,假设您已创建了 CA admin 用户(例如 )jgenie 和 CA 代理用户(如 jsmith),它遵循 7.12 "Create PKI role users" in planning , Installation and Deployment Guide (Common criteria Edition)。
出于安全性和审计的原因,为证书系统用户和管理员创建单独的帐户。
11.3.2.1.1. 注册用户证书 复制链接链接已复制到粘贴板!
角色用户必须拥有个人证书以进行身份验证。以下流程描述了如何用户注册证书。
以用户身份,创建一个证书请求,然后发送到 CA 代理:
如果您的证书系统环境中存在密钥恢复授权(KRA):
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令会在
~/user_name.req文件中以CRMF格式存储证书签名请求(CSR)。将 CSR 请求文件发送到 CA 代理。如果您的证书系统环境中不存在密钥恢复授权(KRA):
PKCS10Client -d /home/example-user/certs_db -p password -n "CN=user_name" -o ~/user_name.req
# PKCS10Client -d /home/example-user/certs_db -p password -n "CN=user_name" -o ~/user_name.req PKCS10Client: Certificate request written into /home/example-user/certs_db/user_name.req PKCS10Client: PKCS#10 request key id written into /home/example-user/certs_db/user_name.req.keyId "Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令将 CSR 以
pkcs10格式存储在~/user_name.req文件中。将 CSR 请求文件发送到 CA 代理。
作为 CA 代理,使用接收的 CSR 文件作为输入创建注册请求:
使用以下内容创建
~/cmc.role_crmf.cfg文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 根据您的环境和上一步中使用的 CSR 格式设置参数。
将之前创建的配置文件传递给
CMCRequest工具,以创建 CMC 请求:CMCRequest ~/cmc.role_crmf.cfg
# CMCRequest ~/cmc.role_crmf.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow
作为 CA 代理
jsmith,提交 CMC (证书管理 over CMS)请求:使用以下内容创建
~/HttpClient_role_crmf.cfg文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 根据您的环境设置参数。
将请求提交到 CA:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证结果:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果颁发成功,请检索新发布的
.crt证书文件:pki -d /home/jsmith/certs_db -c password -p 8443 -n 'jsmith - CA Agent for Example.com' ca-cert-export 0xF9D290B --output-file ~/user.crt
# pki -d /home/jsmith/certs_db -c password -p 8443 -n 'jsmith - CA Agent for Example.com' ca-cert-export 0xF9D290B --output-file ~/user.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow CA 代理
jsmith然后将证书发送到请求的用户。
以请求用户身份,将从 CA 代理
jsmith接收的证书导入到自己的 <user home directory> /certs_db/数据库中:certutil -d ~/certs_db -A -t "u,u,u" -n "user_name" -i ~/user.crt
# certutil -d ~/certs_db -A -t "u,u,u" -n "user_name" -i ~/user.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow
11.3.2.1.2. 使用命令行创建用户 复制链接链接已复制到粘贴板!
使用命令行创建用户:
作为 CA 管理员(如
jgenie),添加一个用户帐户。例如,将user_name用户添加到 CA 中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令使用 CA admin 用户添加新帐户。
(可选)作为 CA 管理员(如
jgenie),将用户添加到组中。例如,要将user_name用户添加到Certificate Manager Agents组中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 作为 CA 管理员,将证书添加到用户记录中:
使用其序列号或证书文件将证书添加到证书系统数据库中的用户帐户。例如,对于
user_name用户:pki -d /home/jgenie/certs_db/ -c password -n jgenie ca-user-cert-add user_name --input ~/user.crt
# pki -d /home/jgenie/certs_db/ -c password -n jgenie ca-user-cert-add user_name --input ~/user.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 或者
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证证书是否已添加到用户记录中。例如,列出在证书主体中包含
user_name用户的证书:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.3.2.1.3. 使用控制台创建用户 复制链接链接已复制到粘贴板!
使用 PKI 控制台创建用户:
登录到管理控制台。
pkiconsole -d nssdb -n 'optional client cert nickname' https://server.example.com:8443/subsystem_type
# pkiconsole -d nssdb -n 'optional client cert nickname' https://server.example.com:8443/subsystem_typeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意pkiconsole已被弃用,并将在以后的主发行版本中被新的基于浏览器的 UI 替代。虽然pkiconsole在发布替代 UI 之前继续可用,但我们鼓励在此鼓励使用命令行与pkiconsole等效,因为 pki CLI 将继续支持并在将来有新的基于浏览器的 UI 时受到改进。- 在 Configuration 选项卡中,选择" 用户和组 "。点。
在 Edit User Information 对话框中填写信息。
大多数信息都是标准用户信息,如用户名、电子邮件地址和密码。此窗口还包含名为 User State 的字段,它可以包含任何字符串,用于添加用户的附加信息;基本上,此字段可以显示是否是活动用户。
- 选择用户所属的组。用户的组成员资格决定了用户具有哪些特权。将代理、管理员和审核员分配给适当的子系统组。
添加用户的证书。
- 通过 CA 端到端服务页面请求用户证书。
- 如果没有为用户配置文件配置自动注册,则批准证书请求。
-
将
user.crt的内容(从 第 11.3.2.1.1 节 “注册用户证书”)复制到剪贴板。 - 选择新用户条目,然后单击 。
- 单击 ,并粘贴 base-64 编码证书。
11.3.2.2. 更改证书系统用户证书 复制链接链接已复制到粘贴板!
- 登录到管理控制台。
- 选择 "用户和组 "。
- 从用户 ID 列表中选择要编辑的用户,然后单击 。
- 单击 以添加新证书。
-
在 Import Certificate 窗口中,将新证书粘贴到文本区域中。包含
-----BEGIN CERTIFICATE-----和-----END CERTIFICATE-----标记行。
11.3.2.3. 续订管理员、代理和审核员用户证书 复制链接链接已复制到粘贴板!
有两种方法可以续订证书。重新生成证书 获取其原始密钥及其原始配置文件和请求,并使用新的有效期和过期日期重新创建相同的密钥。重新密钥 证书将初始证书请求重新提交到原始配置文件,但生成新的密钥对。管理员可以通过重新密钥来续订管理员证书。
每个子系统都有一个在创建子系统时创建的 bootstrap 用户。用户可以使用一个默认的续订配置文件之一,为此用户请求新证书。
管理用户的证书可以直接在最终用户注册表单中,使用原始证书的序列号。
- 续订管理员用户证书。详情请查看 第 5.4 节 “续订证书”。
将更新的用户证书添加到内部 LDAP 数据库中的用户条目。
打开子系统控制台。
pkiconsole -d nssdb -n 'optional client cert nickname' https://server.example.com:admin_port/subsystem_type
# pkiconsole -d nssdb -n 'optional client cert nickname' https://server.example.com:admin_port/subsystem_typeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意pkiconsole已被弃用,并将在以后的主发行版本中被新的基于浏览器的 UI 替代。虽然pkiconsole在发布替代 UI 之前继续可用,但我们鼓励在此鼓励使用命令行与pkiconsole等效,因为 pki CLI 将继续支持并在将来有新的基于浏览器的 UI 时受到改进。- 配置 | 用户和组 | 用户 | admin | 证书 | 导入
- 在 Configuration 选项卡中,选择" 用户和组 "。
- 在 Users 选项卡中,使用更新的证书双击用户条目,然后单击 。
- 单击 ,并粘贴 base-64 编码证书。
这也可以通过使用 ldapmodify 直接将更新的认证添加到内部 LDAP 数据库中的用户条目,方法是替换用户条目中的 userCertificate 属性,如 uid=admin,ou=people,dc=subsystem-base-DN。
11.3.2.4. 删除证书系统用户 复制链接链接已复制到粘贴板!
用户可以从内部数据库中删除。从内部数据库删除用户将从用户所属的所有组中删除该用户。要从特定组中删除该用户,请修改组成员资格。
通过执行以下操作从内部数据库中删除特权用户:
- 登录到管理控制台。
- 从左侧的导航菜单中选择 Users and Groups。
- 从用户 ID 列表中选择用户,然后单击 。
- 提示时确认删除。
另外,您可以以管理员身份在 CLI 中运行以下命令删除系统用户:
pki -d /home/jgenie/certs_db -c password -n caadmin ca-user-del user_name
# pki -d /home/jgenie/certs_db -c password -n caadmin ca-user-del user_name ------------------------ Deleted user "user_name" ------------------------Copy to Clipboard Copied! Toggle word wrap Toggle overflow