我最近使用证书模板为开发人员创建了一个证书。该模板基于现有模板,我相信该模板基于 CNG。我能够导出私钥,但开发人员说它必须是 CSP。
经过一番研究,我相信如果我根据代码签名默认模板创建一个新模板,那么这应该是正确的事情。
这是用于 Azure 中的应用程序注册,开发人员正在编写一个将导入私钥的 powershell 脚本。据我所知,一旦证书发布到证书存储中,我就能够导入它,然后导出 .PKS 和 .CER。要上传到应用程序注册的 cer 和 powershell 脚本的 PKS。
请问有人能告诉我这是否可行吗?如果不行,请告诉我或告诉我应该怎么做。我在这方面没有那么多经验,我很担心在公司网络上创建这些证书模板会弄乱证书模板。已经有了前一个,需要删除。
删除模板有什么影响?我的理解是,它只是删除了模板,任何基于该模板的证书都没问题,因为它只是一个模板,最重要的是实际颁发的证书。这是正确的解释吗?
答案1
复制默认的代码签名模板并在“加密”选项卡中配置旧式 CSP 就足够了。
附注:我怀疑您的开发人员使用了一些非常老旧的脚本,这些脚本需要 20 多年的 API,这可能会对长期支持和安全性造成问题。对于每个新工具,都建议使用 CNG 方法。我强烈建议您的开发人员重新审视他的脚本并考虑现代加密支持,其中包括更强大的加密、新算法和更简单的长期支持。
答案2
最后一部分:从 CA 上的证书模板容器中删除模板,即将其从要颁发的证书模板中删除,这是可以的,因为某处仍然有主副本。
最好不要从存储在 AD 中的主集中删除证书(在 CertSrv 控制台中,右键单击“证书模板”,“管理模板”),因为这会使稍后解释该证书的用途变得更加困难,例如,当查询数据库时,如果模板信息消失了,您就需要开始推断它的用途。更简单的方法是将模板保留在该共享的林级集中,并从任何 CA 取消发布它。