【问题标题】:How is public key obtained when creating new CSR with openssl using only private key?仅使用私钥使用 openssl 创建新 CSR 时如何获取公钥?
【发布时间】:2014-03-11 11:09:09
【问题描述】:

首先我用 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:

如果我只提供私钥,这个公钥从何而来?

【问题讨论】:

    标签: openssl certificate csr


    【解决方案1】:

    如果我只提供私钥,这个公钥从何而来?

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

    还有一些额外的参数可用于加速 RSA 操作,例如 dp 和 dq,但并非绝对需要。他们应该保密。

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

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

    【讨论】:

      猜你喜欢
      • 2017-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-18
      • 2012-03-17
      • 1970-01-01
      • 2019-02-28
      相关资源
      最近更新 更多