我可以限制中级 CA 仅签署客户端证书吗?

我可以限制中级 CA 仅签署客户端证书吗?

我想使用串行通信协议提供客户端证书,可能使用抗体偶联受体。我们已经有一个内部离线根 CA(安全地存放在保险箱中,仅用于签署和撤销中间证书颁发机构),并且该根受到所有内部客户端和服务器的信任。

为了签署客户端证书,我想创建一个只能执行此操作的中间件:签署客户端证书。具体来说,我不希望使用此中间件签署服务器证书(原因是中间件必须位于在线系统上,并且我想限制万一被破坏可能造成的损害)

这可能吗?

答案1

如果您仅使用客户端身份验证证书 EKU(1.3.6.1.5.5.7.3.2)创建中间 CA,那么即使模板被修改以允许其认可服务器身份验证证书,它们也会在链式遍历中失败。

CERT_TRUST_IS_NOT_VALID_FOR_USAGE在 Windows 上,这将报告状态为(或者,在 .NET 中, )的 leaf/EE 证书错误X509ChainStatusFlags.NotValidForUsage

答案2

使用 AD 集成 CA,您可以指定允许 CA 颁发的证书模板。因此,是的你可以。

但请注意:证书模板存储在 Forest Root 中。因此 Forest Root 管理员可以更改可用的证书模板!子 CA 的域管理员或本地管理员可以更改子 CA 提供的模板。因此,您还应该相应地设置模板的访问权限。

相关内容