如何使用带有SHA1和ISO9796-2方案2的RSA与Bouncy Castle签约?

时间:2012-10-18 13:53:29

标签: rsa digital-signature sha1 bouncycastle

我需要使用RSA和ISO9796-2方案2填充来签署文本的SHA1哈希值

最初我只使用带有RSA的SHA1这样做:

public static byte[] signer(byte[] data, PrivateKey key) throws Exception {
    Signature signer = Signature.getInstance("SHA1WithRSA", "BC");
    signer.initSign(key);
    signer.update(data);
    return signer.sign();
}

我该如何修改这个功能?将“SHA1WithRSA”替换为我需要的另一种方案很容易,但我不知道是否可能。

1 个答案:

答案 0 :(得分:2)

我用这段代码解决了这个问题:

public static byte[] signer(byte[] data, PrivateKey key) throws Exception {
    Signature signer = Signature.getInstance("SHA1withRSA/ISO9796-2", "BC");
    signer.initSign(key);
    signer.update(data);
    return signer.sign();
}

SHA1withRSA / ISO9796-2 可以解决问题。

我很感谢来自充气城堡邮件列表的大卫的回答。