3

有什么方法可以将通过 RSAKeyPairGenerator 生成的公钥、私钥写入文件系统(我知道这不是一个好主意,但我需要检查是否可以这样做)?

RSAKeyPairGenerator 将导致 CipherParameters 并且我正在使用为 java 提供的充气城堡安全性。

获取我的密钥的代码如下。

    RSAKeyPairGenerator keyPairGenerator = new RSAKeyPairGenerator();

    keyPairGenerator.init(new RSAKeyGenerationParameters(new BigInteger(
            "10001", 16), new SecureRandom(), 1024, 80));

    AsymmetricCipherKeyPair keys = keyPairGenerator.generateKeyPair();
    CipherParameters pubKey = keys.getPublic();
    CipherParameters privKey = keys.getPrivate();
4

1 回答 1

2

将参数转换为实际类型(打印出来privKey.getClass().getName()找出它是什么)。RSA 私钥将是一种RSAPrivateCrtKeyParameters. 一旦你得到了,你可以简单地检索BigInteger组成私钥的 's。那些应该是可序列化的。如果您想在 PKCS#8/PKCS#1 中对其进行编码,那么您应该创建一个 JCE 兼容RSACrtPrivateKey实例并调用getEncoded().

于 2013-01-07T00:41:14.413 回答