【问题标题】:How to get P and Q from KeyPairGenerator for RSA in Java?如何在 Java 中从 KeyPairGenerator 获取 RSA 的 P 和 Q?
【发布时间】:2012-01-22 15:00:23
【问题描述】:

我使用 KeyPairGenerator 类为 RSA 算法生成私钥和公钥。下一步是为某些文件创建 DigitalSignature。我将使用 Signature 类和第一步生成的公钥。它工作正常,但我在获取 p 和 q 参数时遇到问题。我怎样才能得到它们?我需要显示它们,与模数相同。当我在私钥或公钥上使用 .toString() 方法时,我可以看到所有这些值吗?有没有其他方法可以在不解析这个字符串的情况下获得 p、q、模数?

还有一件事。是否有可能只获取生成的密钥而没有 toString() 方法中的所有这些值?

非常感谢!

【问题讨论】:

  • 为什么需要 p 和 q? Signature 类只需要一对密钥。
  • 这是一个我必须展示它是如何计算的项目。

标签: java rsa public-key private-key


【解决方案1】:

您必须将KeyPair.getPublic()KeyPair.getPrivate() 的结果转换为RSAPublicKeyRSAPrivateKey

编辑:

您可以将KeyPair.getPrivate() 转换为RSAPrivateCrtKey 以提取P 和Q。

【讨论】:

  • 好的,然后我可以使用 getModulus() 和 getPrivateExponent() 函数(我认为这是私钥)。仍然无法到达 P 和 Q。我找到了 RSAPrivateCrtKeySpec 类,但我认为我无法使用它。
猜你喜欢
  • 2023-03-15
  • 1970-01-01
  • 2013-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-10
  • 1970-01-01
  • 2021-07-31
相关资源
最近更新 更多