给出n和e的Java中的RSA

时间:2010-12-27 10:26:47

标签: java rsa encryption bouncycastle

我的应用程序接收公共RSA密钥(n和e)的原始部分,并且需要使用它们来加密密文。我一直在尝试使用BouncyCastle,但我的代码不起作用。尝试创建X509EncodedKeySpec时会出现问题。

任何人都可以帮我解决这个问题吗?这是我的代码:

public static PublicKey getPublicKeyFromString(String key) throws Exception
{
    KeyFactory keyFactory = KeyFactory.getInstance(ALGORITHM);
    EncodedKeySpec publicKeySpec = new X509EncodedKeySpec(Base64Encoder.decode(key));

    PublicKey publicKey = keyFactory.generatePublic(publicKeySpec);
    return publicKey;
}

我猜真正的问题是n和e是分开的,我不知道如何组合它们。

2 个答案:

答案 0 :(得分:3)

为什么不使用新的RSAPublicKeySpec(n,e)?

答案 1 :(得分:-1)

public static PublicKey getPublicKeyFromString(String key) throws Exception
        {
            BASE64Decoder b64 = new BASE64Decoder();
            KeyFactory keyFactory = KeyFactory.getInstance(ALGORITHM);
            EncodedKeySpec publicKeySpec = new X509EncodedKeySpec(b64.decodeBuffer(key));
            PublicKey publicKey = keyFactory.generatePublic(publicKeySpec);
            return publicKey;
        }