如何从密钥对的现有公钥创建证书服务请求(CSR)(假设私钥在其他地方的安全位置)?

fun*_*a68 3 openssl

我正在使用OpenSSL.openSSL的所有引用都集中在以下两个命令来创建CSR; 一个需要你输入一个已经存在的私钥(并导出公钥???),第二个将创建一个新的密钥对.我想使用我的公钥而不是创建一个新公钥.

创建CSR和私钥:

openssl req -newkey rsa:2048 -keyout my.key -out my.csr
Run Code Online (Sandbox Code Playgroud)

从现有私钥创建CSR:

openssl req -key my.key -out my.csr
Run Code Online (Sandbox Code Playgroud)

对于第一个选项,我不明白为什么需要私钥作为命令中的参数.我看到很多网站都说CSR是加密的,但这似乎不是真的.如果将CSR放入CSR解码器(即http://www.sslshopper.com/csr-decoder.html),则可以对其进行解析; 因此我唯一的结论是它只是编码而不是加密的.

为什么私钥输入这些命令?如何使用私钥?如果它正在加密某些东西,那它加密的是什么?

如果没有使用,有人可以告诉我如何使用我的密钥对的公钥创建CSR吗?

提前致谢

Pau*_*rer 6

使用私钥对CSR进行签名,以防止在传输到CA时被篡改.因此,您需要私钥来创建一个.

可以创建一个没有签名的CSR,但这种结构并不常见,而openssl二进制本身也没有创建它们的规定.

当您使用首先列出的openssl命令生成新的CSR +密钥对时,它不会加密CSR(因为这不是理想的行为.ASSO是您提交的公共数据,而不是秘密信息),而是私钥.