diff options
author | Peter Dettman <peter.dettman@bouncycastle.org> | 2013-09-01 18:29:49 +0400 |
---|---|---|
committer | Peter Dettman <peter.dettman@bouncycastle.org> | 2013-09-01 18:29:49 +0400 |
commit | 0a46c92ae767c0be4af1f744a20afe9b8ca6a51f (patch) | |
tree | 00a04965636b2361f06e2765e3128b4e0bd2ffb8 | |
parent | eb0d42c50803770e61e2666f9b91ecd6961cd04a (diff) |
Add new constructor to take the OID explicitly, to allow use with
NullDigest
-rw-r--r-- | core/src/main/java/org/bouncycastle/crypto/signers/RSADigestSigner.java | 10 | ||||
-rw-r--r-- | core/src/test/java/org/bouncycastle/crypto/test/RSADigestSignerTest.java | 8 |
2 files changed, 13 insertions, 5 deletions
diff --git a/core/src/main/java/org/bouncycastle/crypto/signers/RSADigestSigner.java b/core/src/main/java/org/bouncycastle/crypto/signers/RSADigestSigner.java index f33ed317..aaae0645 100644 --- a/core/src/main/java/org/bouncycastle/crypto/signers/RSADigestSigner.java +++ b/core/src/main/java/org/bouncycastle/crypto/signers/RSADigestSigner.java @@ -57,9 +57,15 @@ public class RSADigestSigner public RSADigestSigner( Digest digest) { - this.digest = digest; + this(digest, (ASN1ObjectIdentifier)oidMap.get(digest.getAlgorithmName())); + } - algId = new AlgorithmIdentifier((ASN1ObjectIdentifier)oidMap.get(digest.getAlgorithmName()), DERNull.INSTANCE); + public RSADigestSigner( + Digest digest, + ASN1ObjectIdentifier digestOid) + { + this.digest = digest; + this.algId = new AlgorithmIdentifier(digestOid, DERNull.INSTANCE); } /** diff --git a/core/src/test/java/org/bouncycastle/crypto/test/RSADigestSignerTest.java b/core/src/test/java/org/bouncycastle/crypto/test/RSADigestSignerTest.java index 9418a272..605a2cac 100644 --- a/core/src/test/java/org/bouncycastle/crypto/test/RSADigestSignerTest.java +++ b/core/src/test/java/org/bouncycastle/crypto/test/RSADigestSignerTest.java @@ -1,5 +1,6 @@ package org.bouncycastle.crypto.test; +import org.bouncycastle.asn1.x509.X509ObjectIdentifiers; import org.bouncycastle.crypto.digests.SHA1Digest; import org.bouncycastle.crypto.params.RSAKeyParameters; import org.bouncycastle.crypto.params.RSAPrivateCrtKeyParameters; @@ -38,14 +39,15 @@ public class RSADigestSignerTest signer.update(msg, 0, msg.length); byte[] sig = signer.generateSignature(); - signer.init(false,rsaPublic); + signer = new RSADigestSigner(new SHA1Digest(), X509ObjectIdentifiers.id_SHA1); + signer.init(false, rsaPublic); signer.update(msg, 0, msg.length); if (!signer.verifySignature(sig)) { - fail("RSA IDigest Signer failed."); + fail("RSA Digest Signer failed."); } } - + public static void main(String[] args) { runTest(new RSADigestSignerTest()); |