C.2. 映射器插件模块
本节论述了为证书管理器提供的映射程序插件模块。这些模块配置证书管理器以启用和配置特定的映射程序实例。
可用的映射程序插件模块包括:
C.2.1. LdapCaSimpleMap 复制链接链接已复制到粘贴板!
LdapCaSimpleMap 插件模块将证书管理器配置为在 LDAP 目录中为 CA 创建条目,然后将 CA 的证书映射到目录条目,从证书请求中指定的组件、证书主题名称、证书扩展和属性变量断言(AVA)常数将条目映射到目录条目。有关 AVAs 的更多信息,请查看目录文档。
CA 证书映射程序指定是否为 CA 创建条目,将证书映射到现有条目,还是同时执行。
如果发布目录中已存在 CA 条目,并且分配给此映射器的 dnPattern 参数的值已更改,但 uid 和 o 属性相同,则映射程序将无法创建第二个 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 证书映射程序模块的两个实例。映射程序命名如下:
-
用于 CRL 的
LdapCrlMap(请参阅 第 C.2.1.2 节 “LdapCrlMap”) -
用于 CA 证书的
LdapCaCertMap(请参阅 第 C.2.1.1 节 “LdapCaCertMap”)。
| 参数 | 描述 |
|---|---|
|
| 如果选定(默认),则创建一个 CA 的条目。 如果选中,证书管理器首先会尝试在目录中为 CA 创建条目。如果在创建条目时证书管理器成功,则会尝试将 CA 的证书发布到该条目。如果没有选择此项,则必须已存在该条目才能发布到该条目。 |
|
|
指定证书管理器应使用的 DN 模式来在发布目录中搜索 CA 的条目。
如果 CA 证书在其主题名称中没有
在上面的示例中, |
C.2.1.1. LdapCaCertMap 复制链接链接已复制到粘贴板!
LdapCaCertMap mapper 是 LdapCaSimpleMap 模块的实例。证书管理器在安装过程中自动创建此映射程序。
此映射程序在 目录中为 CA 创建一个条目,并将 CA 证书映射到 目录中的 CA 条目。
默认情况下,映射程序配置为在目录中为 CA 创建条目,用于查找 CA 条目的默认 DN 模式如下:
uid=$subj.cn,ou=people,o=$subj.o
uid=$subj.cn,ou=people,o=$subj.o
C.2.1.2. LdapCrlMap 复制链接链接已复制到粘贴板!
LdapCrlMap mapper 是 LdapCaSimpleMap 模块的实例。证书管理器在安装过程中自动创建此映射程序。
此映射程序在 目录中为 CA 创建一个条目,并将 CRL 映射到 目录中的 CA 条目。
默认情况下,映射程序配置为在目录中为 CA 创建条目。查找 CA 条目的默认 DN 模式如下:
uid=$subj.cn,ou=people,o=$subj.o
uid=$subj.cn,ou=people,o=$subj.o
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。默认映射程序将各种类型的最终用户证书映射到对应的目录条目。
简单的映射程序需要一个参数,dnPattern。dnPattern 的值可以是用逗号分开的 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 的条目搜索目录。
如果没有找到匹配的条目,服务器会返回错误并将其写入日志中。
下表描述了这些参数。
| 参数 | 描述 |
|---|---|
|
|
指定包含证书主题名称的 LDAP 属性的名称作为其值。默认为 |
|
|
指定启动属性搜索的基本 DN。permissible 值是 LDAP 条目的有效 DN,如 |
C.2.5. LdapDNCompsMap 复制链接链接已复制到粘贴板!
LdapDNCompsMap 插件模块实施 DN 组件映射器。此映射程序通过从组件构建条目的 DN 将证书映射到 LDAP 目录条目,如 cn、ou、o、o、c (在证书主题名称中指定的),然后使用它作为搜索 DN 在目录中定位条目。映射程序找到以下条目:
- 用于发布 CA 证书和 CRL 的目录中的 CA 条目。
- 用于发布最终用户证书的目录中的最终用户条目。
映射程序采用 DN 组件来构建搜索 DN。映射程序也采用可选的 root 搜索 DN。服务器使用 DN 组件组成 LDAP 条目以开始子树搜索和过滤器组件,以组成子树的搜索过滤器。如果没有配置 DN 组件,服务器将使用基本 DN 进行子树。如果基础 DN 为 null 且没有 DN 组件匹配,则返回错误。如果没有 DN 组件和过滤组件匹配,则返回错误。如果过滤器组件为 null,则会执行基础搜索。
DNComps 和 filterComps 参数都接受有效的 DN 组件或用逗号分开的属性。参数不接受属性的多个条目;例如,filterComps 可以设置为 。要创建具有相同属性的多个实例的过滤器,如如果目录条目包含多个 cn,ou 2,ou1ou 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
cn=Jane Doe, ou=Sales, o=Example Corporation, l=Mountain View, st=California, c=US
证书管理器可以使用某些或全部这些组件(cn、ou、o、l、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
cn=Jane Doe, ou=Sales, o=Example Corporation, c=US
-
主题名称不需要在
dnComps参数中指定所有组件。服务器会忽略不是主题名称一部分的任何组件,如本例中的l和st。 未指定组件不用于构建 DN。在示例中,如果没有包含
ou组件,服务器将使用此 DN 作为搜索目录的基础:cn=Jane Doe, o=Example Corporation, c=US
cn=Jane Doe, o=Example Corporation, c=USCopy to Clipboard Copied! Toggle word wrap Toggle overflow
对于 dnComps 参数,请输入证书管理器可用于准确组成 LDAP DN 的 DN 组件。然而,在某些情况下,证书中的主题名称可能与目录中的多个条目匹配。然后,证书管理器可能没有获得与 DN 不同的单个匹配条目。例如,主题名称 cn=Jane Doe, ou=Sales, o=Example Corporation, c=US 可能会与目录中名为 Jane Doe 的两个用户匹配。如果发生了这种情况,证书管理器需要额外的条件来确定哪个条目与证书的主题对应。
要指定证书管理器必须使用的组件来区分目录中的不同条目,请使用 filterComps 参数;详情请参阅 表 C.10 “LdapDNCompsMap 配置参数”。例如,如果 cn,ou,o, 和 c 是 dnComps 参数的值,只有在 l 属性可用于区分具有相同 cn,ou,o, 和 c 值的条目时才输入 l。
如果两个 Jane Doe 条目通过 uid 属性的值区分 - 一个条目的 uid 为 janedoe1,而其他条目的 uid 是 janedoe2,则证书的主题名称可以设置为包含 uid 组件。
e、l 和 st 组件不包含在为最终实体提供的标准证书请求表单集合中。这些组件可以添加到表单中,或者在以证书颁发形式编辑主题名称时插入这些组件。
C.2.5.1. LdapDNCompsMap 的配置参数 复制链接链接已复制到粘贴板!
使用这个配置,证书管理器会使用 LDAP 目录中的证书映射其证书,方法是使用 dnComps 值组成 DN 和 过滤器Comps 值来形成子树的搜索过滤器。
-
如果 formed DN 为 null,服务器将使用子树的
baseDN值。如果被组成的 DN 和基本 DN 都为空,服务器会记录错误。 -
如果过滤器为 null,服务器将使用
baseDN值进行搜索。如果过滤器和基本 DN 都为空,服务器会记录错误。
下表描述了这些参数。
| 参数 | 描述 |
|---|---|
|
|
指定开始搜索发布目录中条目的 DN。如果 |
|
| 指定证书管理器应开始搜索与 CA 或最终实体信息匹配的 LDAP 条目的位置。
例如,如果
如果 允许的值是有效的 DN 组件或用逗号分开的属性。 |
|
|
指定证书管理器应用于过滤搜索结果中的条目的组件。服务器使用
如果服务器在目录中找到多个与从证书收集的信息匹配的条目,搜索可以成功,并且服务器可以选择执行验证。例如,如果
允许的值是以逗号分开的证书 DN 中的有效目录属性。过滤器的属性名称需要来自证书的属性名称,而不是来自 LDAP 目录中的属性名称。例如,大多数证书具有用户电子邮件地址的 |