2

我的应用程序接收到公共 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 是分开的,我不知道如何组合它们。

4

2 回答 2

4

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

于 2010-12-27T16:46:43.633 回答
-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;
        }
于 2010-12-27T13:58:47.407 回答