如何创建具有 empty/suppressed 属性的 CSR - Keytool

How to create a CSR with empty/suppressed Attributes - Keytool

我需要使用 java keyTool 生成一个证书签名请求,它不包含任何属性,例如 "Requested Extensions" 或任何相关的扩展嵌入信息,如下所示:

目前,当我通过以下命令时,它 returns 属性请求扩展 X509V3 SubjectKeyIdentifier:

keytool -certreq -alias myClient-prod-client-ssl -file certreq-myClient.csr -keystore myClient-prod-client-ssl.jks

也许我在我的 -certreq 命令中缺少抑制 -ext 命令?

此外,我正在使用 JDK 10.0.2,主要问题可能是在 Java 的旧版本中,这些属性不会在 CSR 中构建。

如果您使用 Java JDK 1.6 或更低版本,则可以解决此问题。我当前的 VM 是 运行 JDK 10.0.2,因此它会自动填充 CSR 中的属性请求扩展 X509V3 SubjectKeyIdentifier。我刚刚将密钥库文件复制到我使用 JDK 1.6 的旧 VM,并且 CSR 生成没有问题。