如何区分证书模板中的用户证书或计算机证书?我目前有一个为 Web 服务器 SSL 证书设计的模板,但是用户和计算机都可以申请它。我已经使用计算机和用户 MMC 管理单元对此进行了测试。我想知道如何将证书模板仅限制在计算机而不是用户。
亲切的问候,
答案1
事实上它们已经受到学科类型的限制:
- 用户
- 电脑
- 认证机构
主题类型主要用于定义一些特定于主题的设置。例如,如果主题类型为 CA,则默认启用基本约束扩展,并且无法禁用,并删除请求处理、加密、主题名称选项卡。使用证书 MMC 管理单元时,它会按主题类型过滤可用的模板。如果管理单元上下文设置为用户,则仅SubjectType = User
显示具有的模板。如果管理单元上下文设置为计算机,则仅显示具有的模板SubjectType = Computer
。
但是,此约束不会限制用户注册任何类型的模板。这是预期行为,因为 ADCS 支持不同的注册场景,例如断开连接(当客户端无法直接访问 CA 并手动提交 CSR 时)环境和 E(R)OBO(代表注册/请求),其中注册代理为不同类型的主题执行证书注册。这是设计使然,无法关闭或更改。
您真正应该做的是——分别将模板上的权限分配给主题类型。如果是用户模板,则仅将注册/自动注册权限分配给包含用户帐户的组。如果是计算机模板,则仅将权限分配给包含计算机帐户的组。也就是说,您必须仅使用权限来约束模板。
更改权限时,请勿删除Authenticated Users: Read
权限,因为这将阻止所有人注册此模板。