2011-12-17 46 views
2

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

还有一件事。如果没有toString()方法中的所有这些值,是否有任何可能性来获取生成的密钥?

非常感谢!

+1

为什么需要p和q? Signature类只需要这对密钥。 – 2011-12-17 14:10:10

+0

这是一个项目,我必须展示它是如何计算的。 – Chris 2011-12-17 14:45:58

回答

6

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

编辑:

你可以施放KeyPair.getPrivate()RSAPrivateCrtKey提取P和Q

+0

好的,我可以然后得到函数getModulus()和getPrivateExponent()(我认为这是私钥)。仍然无法到达P和Q.我找到了RSAPrivateCrtKeySpec类,但我认为我无法使用它。 – Chris 2011-12-17 13:54:41

+0

@ user1068894:看我的编辑 – 2011-12-17 14:25:13

相关问题