C.2. 映射器插件模块


本节论述了为证书管理器提供的映射程序插件模块。这些模块配置证书管理器以启用和配置特定的映射程序实例。

可用的映射程序插件模块包括:

C.2.1. LdapCaSimpleMap

LdapCaSimpleMap 插件模块将证书管理器配置为在 LDAP 目录中为 CA 创建条目,然后将 CA 的证书映射到目录条目,从证书请求中指定的组件、证书主题名称、证书扩展和属性变量断言(AVA)常数将条目映射到目录条目。有关 AVAs 的更多信息,请查看目录文档。

CA 证书映射程序指定是否为 CA 创建条目,将证书映射到现有条目,还是同时执行。

如果发布目录中已存在 CA 条目,并且分配给此映射器的 dnPattern 参数的值已更改,但 uido 属性相同,则映射程序将无法创建第二个 CA 条目。例如,如果目录已有 uid=CA,ou=Marketing,o=example.com 的 CA 条目,并且一个映射程序被配置为创建带有 uid=CA,ou=Engineering,o=example.com 的另一个 CA 条目,则操作会失败。

操作可能会失败,因为目录的 UID Uniqueness 插件设置为特定的基本 DN。此设置可防止目录在该基本 DN 下有两个带有相同 UID 的条目。在本例中,它可防止目录在 o=example.com 下有两个条目,其 UID 为 CA

如果映射器无法创建第二个 CA 条目,请检查设置 UID 唯一插件的基本 DN,并检查目录中是否已存在具有相同 UID 的条目。如有必要,调整 mapper 设置,删除旧的 CA 条目,注释掉插件,或者手动创建条目。

在安装过程中,证书管理器会自动创建 CA 证书映射程序模块的两个实例。映射程序命名如下:

表 C.8. LdapCaSimpleMap 配置参数
参数描述

createCAEntry

如果选定(默认),则创建一个 CA 的条目。

如果选中,证书管理器首先会尝试在目录中为 CA 创建条目。如果在创建条目时证书管理器成功,则会尝试将 CA 的证书发布到该条目。如果没有选择此项,则必须已存在该条目才能发布到该条目。

dnPattern

指定证书管理器应使用的 DN 模式来在发布目录中搜索 CA 的条目。dnPattern 的值可以是用逗号分开的 AVAs 列表。AVA 可以是变量,如 cn=$subj.cn,证书管理器可以从证书主题名称或常数生成,如 o=Example Corporation

如果 CA 证书在其主题名称中没有 cn 组件,请调整 CA 证书映射 DN 模式,以反映要发布 CA 证书的目录中条目的 DN。例如,如果 CA 证书主题 DN 是 o=Example Corporation,并且目录中的 CA 条目是 cn=Certificate Authority, o=Example Corporation,则模式为 cn=Certificate Authority, o=$subj.o

  • 示例 1: uid=CertMgr, o=Example Corporation
  • 示例 2: cn=$subj.cn,ou=$subj.ou,o=$subj.o,c=US
  • 示例 3: uid=$req.HTTP_PARAMS.uid, e=$ext.SubjectAlternativeName.RFC822Name,ou=$subj.ou

在上面的示例中,$req 使用证书请求中的属性,$subj 获取证书主题名称中的属性,$ext 从证书扩展中获取属性。

C.2.1.1. LdapCaCertMap

LdapCaCertMap mapper 是 LdapCaSimpleMap 模块的实例。证书管理器在安装过程中自动创建此映射程序。

此映射程序在 目录中为 CA 创建一个条目,并将 CA 证书映射到 目录中的 CA 条目。

默认情况下,映射程序配置为在目录中为 CA 创建条目,用于查找 CA 条目的默认 DN 模式如下:

uid=$subj.cn,ou=people,o=$subj.o
Copy to clipboard

C.2.1.2. LdapCrlMap

LdapCrlMap mapper 是 LdapCaSimpleMap 模块的实例。证书管理器在安装过程中自动创建此映射程序。

此映射程序在 目录中为 CA 创建一个条目,并将 CRL 映射到 目录中的 CA 条目。

默认情况下,映射程序配置为在目录中为 CA 创建条目。查找 CA 条目的默认 DN 模式如下:

uid=$subj.cn,ou=people,o=$subj.o
Copy to clipboard

C.2.2. LdapDNExactMap

LdapDNExactMap 插件模块配置证书管理器,以通过搜索与证书主题名称匹配的 LDAP 条目 DN 来将证书映射到 LDAP 目录条目。要使用此映射程序,每个证书主题名称必须与目录条目中的 DN 完全匹配。例如,如果证书主题名称是 uid=jdoe, o=Example Corporation, c=US,则在搜索条目时,证书管理器仅搜索带有 DN uid=jdoe, o=Example Corporation, c=US 的条目。

如果没有找到匹配的条目,服务器会返回错误,且不会发布证书。

此映射程序不需要任何参数的任何值,因为它从证书获取所有值。

C.2.3. LdapSimpleMap

LdapSimpleMap 插件模块配置证书管理器,将证书映射到 LDAP 目录条目,方法是从证书请求、证书的主题名称、证书扩展和属性变量断言(AVA)常量中分离条目的 DN。有关 AVAs 的更多信息,请参阅 目录文档。

默认情况下,证书管理器使用基于简单映射程序的映射程序规则。在安装过程中,证书管理器会自动创建一个简单映射器模块实例,名为 LdapUserCertMap。默认映射程序将各种类型的最终用户证书映射到对应的目录条目。

简单的映射程序需要一个参数,dnPatterndnPattern 的值可以是用逗号分开的 AVAs 列表。AVA 可以是变量,如 uid=$subj.UID 或常数,如 o=Example Corporation

  • 示例 1: uid=CertMgr, o=Example Corporation
  • 示例 2: cn=$subj.cn,ou=$subj.ou,o=$subj.o,c=US
  • 示例 3: uid=$req.HTTP_PARAMS.uid, e=$ext.SubjectAlternativeName.RFC822Name,ou=$subj.ou

在示例中,$req 使用证书请求中的属性,$subj 获取证书主题名称中的属性,$ext 从证书扩展中获取属性。

C.2.4. LdapSubjAttrMap

LdapSubjAttrMap 插件模块配置证书管理器,以使用可配置的 LDAP 属性将证书映射到 LDAP 目录条目。要使用此映射程序,目录条目必须包含指定的 LDAP 属性。

此映射器需要主题 DN 的确切模式,因为证书管理器在目录中搜索与整个主题 DN 完全匹配的值的属性。例如,如果指定的 LDAP 属性是 certSubjectDN,且证书主题名称为 uid=jdoe, o=Example Corporation, c=US,则证书管理器会为具有属性 certSubjectDN=uid=jdoe, o=Example Corporation, c=US 的条目搜索目录。

如果没有找到匹配的条目,服务器会返回错误并将其写入日志中。

下表描述了这些参数。

表 C.9. LdapSubjAttrMap 参数
参数描述

certSubjNameAttr

指定包含证书主题名称的 LDAP 属性的名称作为其值。默认为 certSubjectName,但可将它配置为任何 LDAP 属性。

searchBase

指定启动属性搜索的基本 DN。permissible 值是 LDAP 条目的有效 DN,如 o=example.com、c=US

C.2.5. LdapDNCompsMap

LdapDNCompsMap 插件模块实施 DN 组件映射器。此映射程序通过从组件构建条目的 DN 将证书映射到 LDAP 目录条目,如 cnouo、o、c (在证书主题名称中指定的),然后使用它作为搜索 DN 在目录中定位条目。映射程序找到以下条目:

  • 用于发布 CA 证书和 CRL 的目录中的 CA 条目。
  • 用于发布最终用户证书的目录中的最终用户条目。

映射程序采用 DN 组件来构建搜索 DN。映射程序也采用可选的 root 搜索 DN。服务器使用 DN 组件组成 LDAP 条目以开始子树搜索和过滤器组件,以组成子树的搜索过滤器。如果没有配置 DN 组件,服务器将使用基本 DN 进行子树。如果基础 DN 为 null 且没有 DN 组件匹配,则返回错误。如果没有 DN 组件和过滤组件匹配,则返回错误。如果过滤器组件为 null,则会执行基础搜索。

DNCompsfilterComps 参数都接受有效的 DN 组件或用逗号分开的属性。参数不接受属性的多个条目;例如,filterComps 可以设置为 cn,ou 2,ou1。要创建具有相同属性的多个实例的过滤器,如如果目录条目包含多个 ou s,请修改 LdapDNCompsMap 模块的源代码。

以下组件通常在 DN 中使用:

  • UID 代表目录中用户的用户 ID。
  • cn 代表目录中用户的通用名称。
  • ou 代表目录中的一个机构单元。
  • O 代表目录中的一个机构。
  • L 代表本地(城市)。
  • st 代表状态。
  • C 表示国家/地区。

例如,以下 DN 代表名为 Jane Doe 的用户,其适用于示例公司(位于 美国 加利州)的销售部门:

cn=Jane Doe, ou=Sales, o=Example Corporation, l=Mountain View, st=California, c=US
Copy to clipboard

证书管理器可以使用某些或全部这些组件(cnouol、t 和 c)构建 DN 以搜索目录。在创建映射程序规则时,可以为服务器指定用于构建 DN 的服务器;即,与目录中属性匹配的组件。这是通过 dnComps 参数设置的。

例如,组件 cn,ou,o, 和 c 设置为 dnComps 参数的值。要在目录中查找 Jane Doe 的条目,证书管理器通过从证书读取 DN 属性值来构建以下 DN,并使用 DN 作为搜索目录的基础:

cn=Jane Doe, ou=Sales, o=Example Corporation, c=US
Copy to clipboard
  • 主题名称不需要在 dnComps 参数中指定所有组件。服务器会忽略不是主题名称一部分的任何组件,如本例中的 lst
  • 未指定组件不用于构建 DN。在示例中,如果没有包含 ou 组件,服务器将使用此 DN 作为搜索目录的基础:

    cn=Jane Doe, o=Example Corporation, c=US
    Copy to clipboard

对于 dnComps 参数,请输入证书管理器可用于准确组成 LDAP DN 的 DN 组件。然而,在某些情况下,证书中的主题名称可能与目录中的多个条目匹配。然后,证书管理器可能没有获得与 DN 不同的单个匹配条目。例如,主题名称 cn=Jane Doe, ou=Sales, o=Example Corporation, c=US 可能会与目录中名为 Jane Doe 的两个用户匹配。如果发生了这种情况,证书管理器需要额外的条件来确定哪个条目与证书的主题对应。

要指定证书管理器必须使用的组件来区分目录中的不同条目,请使用 filterComps 参数;详情请参阅 表 C.10 “LdapDNCompsMap 配置参数”。例如,如果 cn,ou,o, 和 cdnComps 参数的值,只有在 l 属性可用于区分具有相同 cn,ou,o, 和 c 值的条目时才输入 l

如果两个 Jane Doe 条目通过 uid 属性的值区分 - 一个条目的 uidjanedoe1,而其他条目的 uidjanedoe2,则证书的主题名称可以设置为包含 uid 组件。

注意

elst 组件不包含在为最终实体提供的标准证书请求表单集合中。这些组件可以添加到表单中,或者在以证书颁发形式编辑主题名称时插入这些组件。

C.2.5.1. LdapDNCompsMap 的配置参数

使用这个配置,证书管理器会使用 LDAP 目录中的证书映射其证书,方法是使用 dnComps 值组成 DN 和 过滤器Comps 值来形成子树的搜索过滤器。

  • 如果 formed DN 为 null,服务器将使用子树的 baseDN 值。如果被组成的 DN 和基本 DN 都为空,服务器会记录错误。
  • 如果过滤器为 null,服务器将使用 baseDN 值进行搜索。如果过滤器和基本 DN 都为空,服务器会记录错误。

下表描述了这些参数。

表 C.10. LdapDNCompsMap 配置参数
参数描述

baseDN

指定开始搜索发布目录中条目的 DN。如果 dnComps 字段为空,服务器将使用基本 DN 值在目录中启动其搜索。

dnComps

指定证书管理器应开始搜索与 CA 或最终实体信息匹配的 LDAP 条目的位置。

例如,如果 dnComps 使用 DN 的 oc 属性,服务器从目录中的 o=org, c=country 条目开始搜索,其中 orgcountry 替换为证书 DN 中的值。

如果 dnComps 字段为空,服务器会检查 baseDN 字段,并搜索由该 DN 指定的条目与 filterComps 参数值匹配的条目。

允许的值是有效的 DN 组件或用逗号分开的属性。

filterComps

指定证书管理器应用于过滤搜索结果中的条目的组件。服务器使用 filterComps 值组成子树的 LDAP 搜索过滤器。服务器通过从证书主题名称收集这些属性的值来构建过滤器;它使用过滤器搜索和匹配 LDAP 目录中的条目。

如果服务器在目录中找到多个与从证书收集的信息匹配的条目,搜索可以成功,并且服务器可以选择执行验证。例如,如果 filterComps 设为使用电子邮件和用户 ID 属性(filterComps=e,uid),服务器会搜索目录,其值为电子邮件和用户 ID 与从证书收集的信息匹配。

允许的值是以逗号分开的证书 DN 中的有效目录属性。过滤器的属性名称需要来自证书的属性名称,而不是来自 LDAP 目录中的属性名称。例如,大多数证书具有用户电子邮件地址的 e 属性;LDAP 调用该属性 mail

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat, Inc.