Microsoft ADCS模板禁用私钥导出后用户仍能申请导出私钥的技术咨询
ADCS证书模板“允许导出私钥”设置失效的认知误区
混淆模板设置与客户端私钥控制权
你可能以为模板里取消“允许导出私钥”就能彻底阻止,但实际上,当私钥在用户本地生成时,Windows系统默认让本地用户拥有私钥的控制权——除非通过组策略限制导出权限。模板的这个设置只是控制CA是否接受带“可导出私钥”属性的请求,没法直接限制客户端已生成私钥的导出操作。忽略模板继承或注册策略冲突
如果新模板继承了父模板的密钥导出属性,或者AD注册策略、模板开启了密钥存档功能,都会覆盖你取消导出的设置。另外要检查是否还有其他允许导出的Web服务器模板在发布,用户可能选了那些模板而非你新建的。没搞清楚模板生效的前提
改完或新建模板后,得确认这几点:- 新模板已经正确发布到目标CA服务器(去CA控制台的“证书模板”节点核实);
- 用户申请时确实选的是这个新模板,不是旧模板或其他兼容模板;
- 没有自动注册策略给用户推送旧的允许导出模板,导致用户默认用了旧模板。
忽视不同申请方式的绕过可能
如果用户用certreq.exe这类工具手动提交请求,可能会强行指定“可导出私钥”属性,绕开模板限制。这种情况得在CA上配置证书请求筛选器,直接拒绝带该属性的请求,不能只靠模板设置。误解设置的生效时机
模板里的“允许导出私钥”是在证书颁发阶段生效,但如果私钥已经在本地生成,客户端早就创建了可导出的私钥,CA只是给它配个证书。要彻底阻止,得在私钥生成阶段就限制——通过组策略的“计算机配置\Windows设置\安全设置\公钥策略”里的相关项,或者直接设置私钥的权限,禁止用户导出。
内容的提问来源于stack exchange,提问作者Glenn Dalton
相关产品推荐
相关产品推荐

