当使用openssl仅使用私钥创建新的CSR时,如何获取公钥?

当使用openssl仅使用私钥创建新的CSR时,如何获取公钥?,openssl,certificate,csr,Openssl,Certificate,Csr,首先,我使用openssl创建私钥: openssl genrsa -des3 -out private.key 1024 现在我有了带有密码短语的私钥,现在创建CSR: openssl req -new -key private.key -out CSR.csr 但是,当我显示此CSR的内容时,会包含公钥: Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-

首先,我使用openssl创建私钥:

openssl genrsa -des3 -out private.key 1024
现在我有了带有密码短语的私钥,现在创建CSR:

openssl req -new -key private.key -out CSR.csr
但是,当我显示此CSR的内容时,会包含公钥:

    Subject Public Key Info:
        Public Key Algorithm: rsaEncryption
            Public-Key: (1024 bit)
            Modulus:
如果我只提供私钥,这个公钥从哪里来

如果我只提供私钥,这个公钥从哪里来

对于RSA,私钥是
{n,e,d}
n
是模数,
e
是公共指数,
d
是私有指数

有一些额外的参数可以用来加速RSA操作,例如
dp
dq
,但它们不是严格需要的。他们应该保密

对于RSA,公钥是
{n,e}
。因此,如果您拥有私钥,则这些值始终可用<与私钥一样,code>n是模数,
e
是公指数

如果您设法丢失了
e
,通常可以恢复它,因为它通常是一个众所周知的值,如3、17或65537。如果您丢失了
d
,您将有系数
n
来恢复它