假设我有一个 CSR,其中有一些主题字段不是根据 X.509 创建的 - 其中有禁用字符主题, 或者国家被指定为“英格兰”。
有没有什么办法可以恢复?
我试过:
- 使用策略信息重新颁发证书,但我找不到任何方法来改变现有的主题
- 直接在 CA 上编辑请求,但由于 CSR 中有一些禁止的内容,请求立即失败,并使用certutil-setattributes结果是“CERTSRV_E_BAD_REQUESTSUBJECT”(有点意料之中,但有点奇怪,因为您可以尝试重新发出“失败”列表中的请求)。
我认为这里不可能“修复”不良的 CSR,但也许我错了?
答案1
假设您对请求使用标准格式 - 并且您必须使用 ADCS - 则只有两个地方可以更改证书请求的主题(或任何其他属性或扩展):
- 在源头生成新的请求;或者
- 请求 CA 在签署请求之前对其进行修改。
由于证书申请已经过数字签名,因此在生成证书申请和 CA 接受证书申请之间,您无法对其进行更改。任何更改都将使签名无效。
如果 CA 不接受请求,您唯一的选择就是返回源头。