Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中从KeyPairGenerator for RSA获取P和Q?_Java_Rsa_Public Key_Private Key - Fatal编程技术网

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

如何在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(

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

还有一件事。是否有可能只获取生成的键,而不获取toString()方法中的所有这些值


非常感谢

您必须将
KeyPair.getPublic()
KeyPair.getPrivate()
的结果强制转换为
RSAPublicKey
rsaprovatekey

编辑:


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

好的,然后我可以使用函数getmodule()和getPrivateExponent()(我认为这是私钥)。仍然无法访问P和Q。我找到了类RSAPrivateCrtKeySpec,但我认为我无法使用它。为什么需要P和Q?签名类只需要一对密钥。在这个项目中,我必须演示如何计算它。