您可以使用 Microsoft Active Directory 证书服务在 Active Directory 环境中自动注册机器证书。
但是,如何为客户端生成证书呢?
以下两个选项中哪一项是正确的:
- 客户端创建 CSR 以供 AD CS(CA)签名。
- AD CS 生成所有内容并将其发送给客户端。
第一种是最安全的,因为私钥只存在于客户端。
第二种是最不安全的,因为私钥也存在于 AD CS 中 - 即使它可能只是暂时的。
答案1
第一个选项是正确的。
在 Microsoft ADCS 中,CA 服务器仅对客户端准备的请求进行签名。客户端使用客户端 API 创建私钥和 CSR(例如,证书注册库),然后调用ICertRequest::提交请求方法向 CA 提交请求。签名后,客户端通过调用以下方法检索颁发的证书ICert请求::获取证书方法。
CA 无权访问客户端私钥。但是,当实施密钥存档时,就有这种可能性。客户端安全地将其密钥传输到 CA 服务器,CA 使用密钥恢复代理证书加密 CA 数据库中的密钥。