6.7. 映射解析器配置


令牌处理系统默认提供一个映射解析器。解析器名为 FilterMappingResolver。本节将涵盖其配置。

注意

有关 映射解析器 的常规信息,请参阅 Red Hat Certificate System Planning, Installation, and Deployment Guide 中的 Mapping Resolver 部分。

6.7.1. 键设置映射解析器

在外部注册过程中,密钥集必须使用解析器解析,然后才能进行身份验证。

键集映射解析器名称定义如下:

externalReg.mappingResolver=<keySet mapping resolver name>
Copy to Clipboard Toggle word wrap

例如:

externalReg.mappingResolver=keySetMappingResolver
Copy to Clipboard Toggle word wrap

以下配置示例显示了完整的实例配置:

mappingResolver.keySetMappingResolver.class_id=filterMappingResolverImpl
mappingResolver.keySetMappingResolver.mapping.0.filter.appletMajorVersion=0
mappingResolver.keySetMappingResolver.mapping.0.filter.appletMinorVersion=0
mappingResolver.keySetMappingResolver.mapping.0.filter.keySet=
mappingResolver.keySetMappingResolver.mapping.0.filter.tokenATR=
mappingResolver.keySetMappingResolver.mapping.0.filter.tokenCUID.end=a1000000000000000000
mappingResolver.keySetMappingResolver.mapping.0.filter.tokenCUID.start=a0000000000000000000
mappingResolver.keySetMappingResolver.mapping.0.target.keySet=defKeySet
mappingResolver.keySetMappingResolver.mapping.1.filter.appletMajorVersion=1
mappingResolver.keySetMappingResolver.mapping.1.filter.appletMinorVersion=1
mappingResolver.keySetMappingResolver.mapping.1.filter.keySet=
mappingResolver.keySetMappingResolver.mapping.1.filter.tokenATR=1234
mappingResolver.keySetMappingResolver.mapping.1.filter.tokenCUID.end=
mappingResolver.keySetMappingResolver.mapping.1.filter.tokenCUID.start=
mappingResolver.keySetMappingResolver.mapping.1.target.keySet=defKeySet
mappingResolver.keySetMappingResolver.mapping.2.filter.appletMajorVersion=
mappingResolver.keySetMappingResolver.mapping.2.filter.appletMinorVersion=
mappingResolver.keySetMappingResolver.mapping.2.filter.keySet=
mappingResolver.keySetMappingResolver.mapping.2.filter.tokenATR=
mappingResolver.keySetMappingResolver.mapping.2.filter.tokenCUID.end=
mappingResolver.keySetMappingResolver.mapping.2.filter.tokenCUID.start=
mappingResolver.keySetMappingResolver.mapping.2.target.keySet=jForte
mappingResolver.keySetMappingResolver.mapping.order=0,1,2
Copy to Clipboard Toggle word wrap

上面的示例定义了名为 012 的三个映射。它们以升序排序,使用示例中的 mappingResolver.keySetMappingResolver.mapping.order=0,1,2 行。这个顺序表示将首先针对映射过滤器 0 运行输入参数;只有在它们与那个过滤器不匹配时,才会尝试下一个参数。例如,如果评估有以下特征的令牌:

CUID=a0000000000000000011
appletMajorVersion=0
appletMinorVersion=0
Copy to Clipboard Toggle word wrap

然后,它将传递映射 0 并为其分配其目标,它被配置为 defKeySet,因为小程序版本匹配,CUID 属于该映射的 CUID start 和 end 范围。

另一方面,如果令牌有以下参数:

CUID=b0000000000000000000
ATR=2222
appletMajorVersion=1
appletMinorVersion=1
Copy to Clipboard Toggle word wrap

在这种情况下,此令牌无法映射 0, 因为它是在指定的 CUID 范围之外。它还无法映射 1,因为当小程序版本匹配时,ATR 则不会。以上令牌将被分配到映射 2 及其目标 jForte

请注意,映射 2 没有其任何过滤器的分配。这会导致映射与所有令牌匹配,有效使其成为"默认"值。类似的映射必须以映射顺序最后指定,因为永远不会评估后的任何其他映射。

6.7.2. 令牌类型(TPS)映射解析器

Token Processing System: formatProfileMappingResolver, enrollProfileMappingResolver ,enrollProfileMappingResolver, 和 pinResetProfileMappingResolver 中定义三个默认 tokenType 映射解析器。与上一节中讨论的外部注册问题单相比,内部注册令牌类型实际上是从定义的映射解析器计算的。

令牌类型映射解析器名称定义如下:

op.<op>.mappingResolver=<mapping resolver name>
Copy to Clipboard Toggle word wrap

例如:

op.enroll.mappingResolver=enrollProfileMappingResolver
Copy to Clipboard Toggle word wrap

以下配置示例描述了 enrollProfileMappingResolver

mappingResolver.enrollProfileMappingResolver.class_id=filterMappingResolverImpl
mappingResolver.enrollProfileMappingResolver.mapping.0.filter.appletMajorVersion=1
mappingResolver.enrollProfileMappingResolver.mapping.0.filter.appletMinorVersion=
mappingResolver.enrollProfileMappingResolver.mapping.0.filter.tokenATR=
mappingResolver.enrollProfileMappingResolver.mapping.0.filter.tokenCUID.end=b1000000000000000000
mappingResolver.enrollProfileMappingResolver.mapping.0.filter.tokenCUID.start=b0000000000000000000
mappingResolver.enrollProfileMappingResolver.mapping.0.filter.tokenType=userKey
mappingResolver.enrollProfileMappingResolver.mapping.0.target.tokenType=userKey
mappingResolver.enrollProfileMappingResolver.mapping.1.filter.appletMajorVersion=1
mappingResolver.enrollProfileMappingResolver.mapping.1.filter.appletMinorVersion=
mappingResolver.enrollProfileMappingResolver.mapping.1.filter.tokenATR=
mappingResolver.enrollProfileMappingResolver.mapping.1.filter.tokenCUID.end=a0000000000000001000
mappingResolver.enrollProfileMappingResolver.mapping.1.filter.tokenCUID.start=a0000000000000000000
mappingResolver.enrollProfileMappingResolver.mapping.1.filter.tokenType=soKey
mappingResolver.enrollProfileMappingResolver.mapping.1.target.tokenType=soKey
mappingResolver.enrollProfileMappingResolver.mapping.2.filter.appletMajorVersion=
mappingResolver.enrollProfileMappingResolver.mapping.2.filter.appletMinorVersion=
mappingResolver.enrollProfileMappingResolver.mapping.2.filter.tokenATR=
mappingResolver.enrollProfileMappingResolver.mapping.2.filter.tokenCUID.end=
mappingResolver.enrollProfileMappingResolver.mapping.2.filter.tokenCUID.start=
mappingResolver.enrollProfileMappingResolver.mapping.2.filter.tokenType=
mappingResolver.enrollProfileMappingResolver.mapping.2.target.tokenType=userKey
mappingResolver.enrollProfileMappingResolver.mapping.order=1,0,2
Copy to Clipboard Toggle word wrap

为上例中的 enrollProfileMappingResolver 定义了三个映射。映射名为 012mappingResolver.enrollProfileMappingResolver.mapping.order=1,0,2 行定义映射将处理的顺序。如果令牌与映射匹配,则不会评估顺序中的进一步映射;如果没有与映射不匹配,则顺序的下一个映射将会被尝试。

如果使用带有以下参数的令牌:

CUID=a0000000000000000011
appletMajorVersion=1
appletMinorVersion=0
extension: tokenType=soKey
Copy to Clipboard Toggle word wrap

具有此配置的令牌将匹配映射 1 的过滤器,因为小程序版本匹配,CUID 在指定的 start 和 end 范围内失败,扩展 tokenType 会匹配。因此,此令牌将被分配该映射的目标 - soKey

在另一个情况下,如果令牌有以下参数:

CUID=b0000000000000000010
appletMajorVersion=1
appletMinorVersion=1
Copy to Clipboard Toggle word wrap

在这种情况下,令牌将失败,因为 CUID 在指定的范围之外。然后,它也会失败映射 0, 因为缺少 tokenType 扩展。然后,此令牌将匹配映射 2,因为它没有指定过滤器以匹配所有与之前过滤器不匹配的令牌。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat