无法获得bouncycaste密码实例

时间:2016-06-29 04:33:02

标签: java encryption

我似乎无法让一个充满活力的城堡Cipher加载一个实例。

我打印出所有算法和所有提供者,部分列表如下:

RSA/ECB/PKCS1Padding : [SunMSCAPI version 1.7]
RSA/ISO9796-1        : [BC version 1.46]
RSA/OAEP             : [BC version 1.46]
RSA/PKCS1            : [BC version 1.46]

根据我看到的例子,这应该有用

    try
    {

        Cipher cipherb = Cipher.getInstance("RSA/PKCS1", "BC");
        cipher.init(Cipher.DECRYPT_MODE, publicKey);
        ...
    }       
    catch(Exception e)
    {
        e.printStackTrace();
        return ;
    }

但是我在调​​用Cipher.getInstance

时遇到异常
java.security.NoSuchAlgorithmException: 
   Invalid transformation format:RSA/PKCS1

但是,RSA / PKCS1在列表中。我可以得到一个实例的唯一密码是Sun一个RSA / ECB / PKCS1Padding,它与我要解密的数据的来源不兼容。我无法弄清楚为什么这不起作用。

任何建议都非常感谢。

1 个答案:

答案 0 :(得分:0)

Cipher.getInstance(..)的第一个参数是具有以下形式的转换:

"algorithm/mode/padding" or
"algorithm"

根据bouncycastle's specification RSA + PKCS1在BouncyCastle中的格式为:"RSA/NONE/PKCS1Padding"

这是Maarten在评论中暗示的,与使用"RSA/ECB/PKCS1Padding"

的SUN提供商所得到的相同