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

标签 java rsa public-key private-key

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

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

非常感谢!

最佳答案

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

编辑:

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

关于java - 如何在Java中从KeyPairGenerator for RSA获取P和Q?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8545101/

相关文章:

java - 方法调用与方法执行

java - Spring MVC : POST and PUT not working

Java继承和泛型问题

go - 使用 x509.MarshalPKCS1PublicKey 从 go 生成 RSA 公钥

node.js - 使用带有 Node 的 ursa 加密和解密字符串会引发解码错误

java - 在 iOS/Swift 中创建并导出为 base64 的 RSA 公钥在 Java 中无法识别

heroku - 在Windows 7中无法为heroku生成ssh公钥

openssl - 如何将 ECDSA key 从十六进制转换为 PEM 格式

java - 在页面加载 jsp 上运行方法

javascript - 使用 Cryptico.js 加密,使用 OpenSSL 解密