PKCS#1 PSS(RSASSA-PKCS)的Android签名验证不适用于算法SHA256withRSA

时间:2015-02-27 01:36:27

标签: android signing

我正在开发一个移动应用程序,它必须验证它收到的一些签名。我有我需要的一切 - 输入数据,公钥和签名。但有一个问题。我使用SHA256withRSA方法进行签名验证,其中包含以下几行代码来验证签名:

    Signature sg = Signature.getInstance(algorithm);
    sg.initVerify(pubKey);
    sg.update(input);
    return sg.verify(sign);

但是我注意到这只适用于PKCS1_v1.5,但它必须使用的签名模式是PKCS#1 PSS,因此它总是返回false。你对如何解决这个问题有任何想法吗?

1 个答案:

答案 0 :(得分:0)

我有同样的问题,不是验证,而是签名。我找到的唯一解决方案是使用BouncyCastleProvider。要使用RSASSA-PSS-Sign / -Verify,您需要设置"算法"到SHA256withRSA / PSS而不是SHA256withRSA。默认情况下不提供此算法。