24.4. 证书配置文件
证书配置文件定义了属于特定配置文件的证书内容,以及签发证书、注册方式以及用于注册的输入和输出表单的限制。单个证书配置文件与签发特定类型的证书相关联。可以为 IdM 中的用户、服务和主机定义不同的证书配置文件。
CA 使用证书签名中的证书配置集来决定:
- CA 是否可以接受证书签名请求(CSR)
- 证书中应存在哪些功能和扩展
IdM 默认包括以下两个证书配置文件:
caIPAserviceCert
和 IECUserRoles
。另外,也可以导入自定义配置集。
自定义证书配置文件允许针对特定不相关的用途签发证书。例如,可以将特定配置集的使用限制为仅一个用户或一个组,从而防止其他用户和组使用该配置文件发布证书以进行身份验证。
注意
通过组合证书配置文件和 CA ACL 第 24.5 节 “证书颁发机构 ACL 规则”,管理员可以定义和控制自定义证书配置集的访问。有关使用配置集和 CA ACL 发布用户证书的描述,请参考 第 24.6 节 “使用证书配置文件和 ACL 来向 IdM CA 签发用户证书”。
24.4.1. 创建证书配置文件
有关创建证书配置文件的详情,请查看 Red Hat Certificate System 9 管理指南中的 以下文档:
- 设置证书配置文件 部分说明了如何创建新证书配置文件以及如何构建它们。
- 证书和 CRL 附录的默认、约束和扩展列出了 您可以在证书配置集中使用的对象标识符(OID)其他字段。
24.4.2. 从命令行管理证书配置文件
用于管理 IdM 配置集的
certprofile
插件允许特权用户导入、修改或删除 IdM 证书配置文件。要显示插件支持的所有命令,请运行 ipa certprofile 命令:
$ ipa certprofile Manage Certificate Profiles ... EXAMPLES: Import a profile that will not store issued certificates: ipa certprofile-import ShortLivedUserCert \ --file UserCert.profile --desc "User Certificates" \ --store=false Delete a certificate profile: ipa certprofile-del ShortLivedUserCert ...
请注意,要执行
certprofile
操作,您必须以具有所需权限的用户进行操作。IdM 默认包括以下证书配置集相关的权限:
- 系统:读取证书配置文件
- 允许用户读取所有配置集属性。
- 系统:导入证书配置集
- 允许用户将证书配置集导入到 IdM 中。
- 系统:删除证书配置集
- 允许用户删除现有证书配置文件。
- 系统:修改证书配置集
- 允许用户修改配置集属性并禁用或启用配置集。
所有这些权限都包含在默认的
CA Administrator
特权中。有关基于 IdM 角色的访问控制和管理权限的更多信息,请参阅 第 10.4 节 “定义基于角色的访问控制”。
注意
在请求证书时,可将
--profile-id
选项添加到 ipa cert-request 命令中,以指定要使用的配置集。如果没有指定配置文件 ID,则默认 caIPAserviceCert
配置集用于证书。
本节只描述了使用 ipa certprofile 命令进行配置集管理的重要方面。有关命令的完整信息,请使用添加
--help
选项来运行,例如:
$ ipa certprofile-mod --help Usage: ipa [global-options] certprofile-mod ID [options] Modify Certificate Profile configuration. Options: -h, --help show this help message and exit --desc=STR Brief description of this profile --store=BOOL Whether to store certs issued using this profile ...
导入证书配置集
要将新证书配置文件导入到 IdM,请使用 ipa certprofile-import 命令。运行不带任何选项的命令将启动一个交互式会话,其中
certprofile-import
脚本会提示您输入导入证书所需的信息。
$ ipa certprofile-import Profile ID: smime Profile description: S/MIME certificates Store issued certificates [True]: TRUE Filename of a raw profile. The XML format is not supported.: smime.cfg ------------------------ Imported profile "smime" ------------------------ Profile ID: smime Profile description: S/MIME certificates Store issued certificates: TRUE
ipa certprofile-import 命令接受几个命令行选项。最值得注意的是:
--file
- 此选项将包含配置文件配置的文件直接传递给 ipa certprofile-import。例如:
$ ipa certprofile-import --file=smime.cfg
--store
- 此选项设置
Store 颁发的证书
属性。它接受两个值:- true,它为客户端提供发布的证书,并将其存储在目标 IdM 主体的
userCertificate
属性中。 false
,它为客户端提供发布的证书,但不将其存储在 IdM 中。在发出多个短期证书时,最常使用这个选项。
如果已使用 ipa certprofile-import 指定的配置集 ID 已在使用中,或者配置集内容不正确,则导入会失败。例如,如果缺少所需的属性,或者提供的文件中定义的配置集 ID 与 ipa certprofile-import 指定的配置集 ID 不匹配,则导入会失败。
要获取新配置集的模板,您可以使用
--out
选项运行 ipa certprofile-show 命令,该命令将指定的现有配置集导出到文件中。例如:
$ ipa certprofile-show caIPAserviceCert --out=file_name
然后,您可以根据需要编辑导出的文件并将其导入为新配置集。
显示证书配置集
要显示当前存储在 IdM 中的所有证书配置文件,请使用 ipa certprofile-find 命令:
$ ipa certprofile-find ------------------ 3 profiles matched ------------------ Profile ID: caIPAserviceCert Profile description: Standard profile for network services Store issued certificates: TRUE Profile ID: IECUserRoles ...
要显示特定配置集的信息,请使用 ipa certprofile-show 命令:
$ ipa certprofile-show profile_ID Profile ID: profile_ID Profile description: S/MIME certificates Store issued certificates: TRUE
修改证书配置集
要修改现有证书配置文件,请使用 ipa certprofile-mod 命令。使用 ipa certprofile-mod 接受的命令行选项,通过命令传递所需的修改。例如,要修改配置集的描述并更改 IdM 是否存储发布的证书:
$ ipa certprofile-mod profile_ID --desc="New description" --store=False ------------------------------------ Modified Certificate Profile "profile_ID" ------------------------------------ Profile ID: profile_ID Profile description: New description Store issued certificates: FALSE
要更新证书配置集配置,请使用
--file
选项导入包含更新配置的文件。例如:
$ ipa certprofile-mod profile_ID --file=new_configuration.cfg
删除证书配置集
要从 IdM 中删除现有证书配置文件,请使用 ipa certprofile-del 命令:
$ ipa certprofile-del profile_ID ----------------------- Deleted profile "profile_ID" -----------------------
24.4.3. 从 Web UI 中的证书配置文件管理
从 IdM Web UI 管理证书配置集:
- 打开 Authentication 选项卡和 Certificates 子选项卡。
- 打开 Certificate Profiles 部分。
图 24.7. Web UI 中的证书配置文件管理
在 Certificate Profiles 部分中,您可以显示有关现有配置集的信息,修改其属性或删除所选配置集。
例如,要修改现有证书配置集:
- 单击配置文件的名称,以打开配置文件配置页面。
- 在配置集配置页面中,填写所需信息。
- 单击以确认新配置。
图 24.8. 在 Web UI 中修改证书配置集
如果您启用
Store 发布的证书
选项,发布的证书将传送到客户端,并存储在目标 IdM 主体的 userCertificate
属性中。如果禁用该选项,发布的证书将传送到客户端,但不存储在 IdM 中。在发出多个较短的证书时,存储证书通常会被禁用。
请注意,一些证书配置集管理操作目前在 web UI 中不可用:
- 无法在 web UI 中导入证书配置文件。要导入证书,请使用 ipa certprofile-import 命令。
- 无法设置、添加或删除属性和值对。要修改属性和值对,请使用 ipa certprofile-mod 命令。
- 无法导入更新的证书配置集配置。要导入包含更新的配置集配置的文件,请使用 ipa certprofile-mod --file=file_name 命令。
有关用于管理证书配置集的命令的详情请参考 第 24.4.2 节 “从命令行管理证书配置文件”。
24.4.4. 使用证书配置集升级 IdM 服务器
升级 IdM 服务器时,服务器中包含的配置集都会被导入并启用。
如果升级多个服务器副本,则第一个升级副本的配置文件会被导入。在其他副本中,IdM 会检测到是否存在其他配置集,且不会导入它们,或解决两组配置集之间的任何冲突。如果您在副本上定义了自定义配置集,请确保在所有副本上的配置集在升级前保持一致。