Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

24.4. 证书配置文件

证书配置文件定义了属于特定配置文件的证书内容,以及签发证书、注册方式以及用于注册的输入和输出表单的限制。单个证书配置文件与签发特定类型的证书相关联。可以为 IdM 中的用户、服务和主机定义不同的证书配置文件。
CA 使用证书签名中的证书配置集来决定:
  • CA 是否可以接受证书签名请求(CSR)
  • 证书中应存在哪些功能和扩展
IdM 默认包括以下两个证书配置文件: caIPAserviceCertIECUserRoles。另外,也可以导入自定义配置集。
自定义证书配置文件允许针对特定不相关的用途签发证书。例如,可以将特定配置集的使用限制为仅一个用户或一个组,从而防止其他用户和组使用该配置文件发布证书以进行身份验证。
有关支持的证书配置文件配置的详情,请参阅 Red Hat Certificate System Administration Guide 中的默认 参考 和约束 参考。
注意
通过组合证书配置文件和 CA ACL 第 24.5 节 “证书颁发机构 ACL 规则”,管理员可以定义和控制自定义证书配置集的访问。有关使用配置集和 CA ACL 发布用户证书的描述,请参考 第 24.6 节 “使用证书配置文件和 ACL 来向 IdM CA 签发用户证书”

24.4.1. 创建证书配置文件

有关创建证书配置文件的详情,请查看 Red Hat Certificate System 9 管理指南中的 以下文档:

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 管理证书配置集:
  1. 打开 Authentication 选项卡和 Certificates 子选项卡。
  2. 打开 Certificate Profiles 部分。

    图 24.7. Web UI 中的证书配置文件管理

    Web UI 中的证书配置文件管理
Certificate Profiles 部分中,您可以显示有关现有配置集的信息,修改其属性或删除所选配置集。
例如,要修改现有证书配置集:
  1. 单击配置文件的名称,以打开配置文件配置页面。
  2. 在配置集配置页面中,填写所需信息。
  3. 单击 Save 以确认新配置。

    图 24.8. 在 Web UI 中修改证书配置集

    在 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 会检测到是否存在其他配置集,且不会导入它们,或解决两组配置集之间的任何冲突。如果您在副本上定义了自定义配置集,请确保在所有副本上的配置集在升级前保持一致。