所以我一直在做我的研究,并没有发现任何足够具体到我的问题的东西。正如问题标题所述,我想只用公钥制作一个 CSR。我能够做的是使用我选择的信息以及一个新的密钥对生成一个 CSR。然后使用类似这样的东西来强制它在制作证书时使用我想要的公钥。
openssl x509 -req -in mycsr.pem -force_pubkey mypubkey.pem -CA dumyCA.pem -CAkey -dumyCA.pem -out mycert.pem
在此之后,我获取输出的证书并更改其属性以将其与私钥相关联。这一切都很好。这样做的问题是,如果我要获取所述 csr,并将其提交给 CA,他们将返回给我一个证书,该证书使用生成 csr 时生成的密钥。因此我的问题。
编辑:所以我有一个密钥对,但我的私钥位于没有导出功能的 HSM 模块上。我能够获得公钥的 .pem 文件。在使用我给出的命令制作证书后,我通过一个将其与私钥相关联的程序运行它。所以我的新问题是,使用 openssl API 我可以创建自己的 csr 吗?所以我可以用私钥对其进行签名,而不必将其保存在文件中,并将其与我拥有的公钥相关联。