如何在Java中从KeyPairGenerator for RSA获取P和Q?
我使用KeyPairGenerator类为RSA算法生成私钥和公钥。下一步是为一些文件创建数字签名。我将使用签名类和第一步生成的公钥。它工作正常,但我在获取p和q参数时遇到问题。我怎样才能得到它们?我需要显示它们,和模数一样。当我对私钥或公钥使用.toString()方法时,我可以看到所有这些值吗?在不解析这个字符串的情况下,是否还有其他可能得到p,q,模 还有一件事。是否有可能只获取生成的键,而不获取toString()方法中的所有这些值如何在Java中从KeyPairGenerator for RSA获取P和Q?,java,rsa,public-key,private-key,Java,Rsa,Public Key,Private Key,我使用KeyPairGenerator类为RSA算法生成私钥和公钥。下一步是为一些文件创建数字签名。我将使用签名类和第一步生成的公钥。它工作正常,但我在获取p和q参数时遇到问题。我怎样才能得到它们?我需要显示它们,和模数一样。当我对私钥或公钥使用.toString()方法时,我可以看到所有这些值吗?在不解析这个字符串的情况下,是否还有其他可能得到p,q,模 还有一件事。是否有可能只获取生成的键,而不获取toString()方法中的所有这些值 非常感谢 您必须将KeyPair.getPublic(
非常感谢 您必须将
KeyPair.getPublic()
和KeyPair.getPrivate()
的结果强制转换为RSAPublicKey
和rsaprovatekey
编辑:
您可以将
KeyPair.getPrivate()
转换为RSAPrivateCrtKey
以提取p和Q。好的,然后我可以使用函数getmodule()和getPrivateExponent()(我认为这是私钥)。仍然无法访问P和Q。我找到了类RSAPrivateCrtKeySpec,但我认为我无法使用它。为什么需要P和Q?签名类只需要一对密钥。在这个项目中,我必须演示如何计算它。