1

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」を必要なことを実行する別のスキームに置き換えるのは簡単ですが、それが可能かどうかはわかりません。

4

1 に答える 1

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がそのトリックを行います。

この回答をくれた弾力がある城のメーリングリストのDavidに感謝します。

于 2012-10-23T10:39:53.387 に答える