如何从KeyPairGenerator获取Java中的RSA的P和Q?

Chr*_*ris 2 java rsa public-key private-key

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

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

非常感谢!

Jam*_*olk 7

你要投的结果KeyPair.getPublic(),并KeyPair.getPrivate()RSAPublicKeyRSAPrivateKey.

编辑:

你可以强制KeyPair.getPrivate()转换RSAPrivateCrtKey来提取P和Q.