我正在尝试使用 mmc 和证书管理单元生成自定义 CSR。该证书将是使用 ECC 的 mTLS 客户端证书。我遵循以下步骤:
- 为当前用户加载证书管理单元
- 右键单击“个人”逻辑存储并选择“所有任务”->“高级操作”->“创建自定义请求”
- 根据注册政策,无需注册政策即可继续。
- 自定义请求模板(无模板) CNG 密钥,抑制默认扩展,PKCS#10
- 证书属性主题:CN=foo-not-a-FQDN、O=<我的公司名称)、OU=、E=扩展:密钥用法 = 数字签名扩展密钥用法 = 客户端身份验证
就是这样。没有对称算法,也没有自定义扩展。单击“私钥”选项卡,我收到错误“一个或多个对象的属性缺失或无效”
我可以打开私钥选项卡,但所有选项都不敏感。
为什么?DN 字段对 CSR 来说并不重要,CA 可能有关于所需内容的政策,但这只是 CSR。几乎任何事情都可以。密钥使用和扩展密钥使用是 ECDH 所需的,但 CSR 不应再次检查这一点。