将CipherParameters写入文件系统

时间:2013-01-03 12:42:30

标签: java security rsa bouncycastle java-io

有没有办法可以将通过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();

1 个答案:

答案 0 :(得分:2)

将参数转换为实际类型(打印出privKey.getClass().getName()以找出它是什么)。 RSA私钥将是RSAPrivateCrtKeyParameters的类型。完成后,您只需检索构成私钥的BigInteger即可。那些应该是可序列化的。如果要在PKCS#8 / PKCS#1中对其进行编码,则应创建与JCE兼容的RSACrtPrivateKey实例并调用getEncoded()