使用openssl仅使用私钥创建新CSR时如何获得公钥?

时间:2014-02-12 21:03:37

标签: 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-Key: (1024 bit)
            Modulus:

如果我只提供私钥,那么这个公钥来自哪里?

1 个答案:

答案 0 :(得分:1)

  

如果我只提供私钥,那么这个公钥来自哪里?

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

可以使用一些其他参数来加速RSA操作,例如dpdq,但并不是严格要求它们。他们应该保密。

对于RSA,公钥为{n,e}。因此,如果您拥有私钥,则值始终可用。 n是模数,e是私钥的公共指数。

如果您以某种方式设法丢失e,您通常可以恢复它,因为它通常是众所周知的值,例如3,17或65537.如果您丢失d,您将拥有因素n恢复它。