我们开发了自己的 XCEP/CES WCF 服务实现,该服务结合使用我们的证书管理解决方案和 Microsoft CA 来颁发证书。使用标准 XCEP XML 定义(与标准 Microsoft XCEP/CES WCF 服务相同)。我们对 WCF 服务使用相同的 WSDL。这对于 CEP 和 CES 来说都很好。
现在,我们扩展了软件以使用不同的证书颁发机构(不是 Microsoft)。新的 CA 是 GlobalSign,它有自己的证书模板定义和设置(不同于 MS CA 证书模板设置)。CEP 策略服务运行良好,并根据 CEP XML 策略结构创建策略定义,但我们还有一个问题。
XCEP 策略如何定义 SubjectType,即策略(证书模板)是针对用户还是计算机?目前,客户端将它们解释为用户模板,我们没有看到可以定义目标类型“计算机”的属性(或基本约束扩展)。
我们看到的唯一选项是名为“证书模板”扩展的扩展:
答案1
它由元素generalFlags
中的数据决定(Attributes
[MS-XCEP] §3.1.4.1.3.1PKI-Certificate-Template.flags
)该数据是DS 属性值的按位枚举([MS-CRTD] §2.4)。
- 如果数据值有位
CT_FLAG_MACHINE_TYPE
设置,则主题类型为计算机。 - 如果数据值有位
CT_FLAG_IS_CA
,则主题类型为CA。 - 如果两位均未设置,则主题类型为用户。