【问题标题】:Android Signature verification of PKCS#1 PSS (RSASSA-PKCS) not working with algorithm SHA256withRSAPKCS#1 PSS (RSASASA-PKCS) 的 Android 签名验证不适用于算法 SHA256withRSA
【发布时间】:2015-02-27 01:36:26
【问题描述】:

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

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

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

【问题讨论】:

    标签: android signing


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-03
      • 1970-01-01
      • 1970-01-01
      • 2015-11-09
      相关资源
      最近更新 更多