diff options
author | Adam Vartanian <flooey@google.com> | 2017-07-11 10:17:24 +0100 |
---|---|---|
committer | Adam Vartanian <flooey@google.com> | 2017-07-20 08:55:12 +0100 |
commit | 4936950820c68699a4ace55a2a8e5f7f677a913d (patch) | |
tree | 60fd944d4a3dcd27d8a5308e7b7598afa18d2025 /bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSASigner.java | |
parent | 6ec33a667cad9a33e8049206a0507fcece28fd9c (diff) | |
download | bouncycastle-4936950820c68699a4ace55a2a8e5f7f677a913d.tar.gz |
Update change markers in external/bouncycastle.
For the most part, this is just changing markers that had no explanatory
text and adding an explanation. Some more detail on two of the common
explanations:
"Unsupported algorithms": We choose not to ship a whole lot of the
various crypto algorithms that Bouncy Castle supports. Justfying each
individual choice to disable a given algorithm is out of place in the
code and also doesn't have a natural home (since each algorithm is
disabled in upwards of a dozen places), so just mark where algorithms
are disabled due to being unsupported.
"Unknown reason": I looked in the history and couldn't find any
justification for the change. Generally these changes were made in
commits with descriptions like "bouncycastle 1.49 upgrade" from multiple
years ago. I don't want to change behavior in this change, so I left
these changes as they were; these can be revisited in the future if
desired.
This change also reverts some diffs from upstream, both inside disabled
blocks of code (which is irrelevant) and ones that are active but have
no behavioral change (for example, an added package-visible constructor
that isn't called by any class in the package). There're also a number
of whitespace-only changes that revert diffs from upstream.
Bug: 63092064
Test: cts -m CtsLibcoreTestCases
Change-Id: I27c61063eda849455bc93edaf180acefb5eed217
Diffstat (limited to 'bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSASigner.java')
-rw-r--r-- | bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSASigner.java | 323 |
1 files changed, 159 insertions, 164 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSASigner.java b/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSASigner.java index 6374419f..0384b1c8 100644 --- a/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSASigner.java +++ b/bcprov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSASigner.java @@ -21,27 +21,15 @@ import org.bouncycastle.crypto.CipherParameters; import org.bouncycastle.crypto.DSA; import org.bouncycastle.crypto.Digest; import org.bouncycastle.crypto.digests.NullDigest; -// BEGIN android-added -import org.bouncycastle.crypto.digests.AndroidDigestFactory; -// END android-added -// BEGIN android-removed -// import org.bouncycastle.crypto.digests.SHA1Digest; -// import org.bouncycastle.crypto.digests.SHA224Digest; -// import org.bouncycastle.crypto.digests.SHA256Digest; -// import org.bouncycastle.crypto.digests.SHA384Digest; -// import org.bouncycastle.crypto.digests.SHA512Digest; -// END android-removed -// BEGIN android-added +// Android-added: Check DSA keys when generated import org.bouncycastle.crypto.params.DSAKeyParameters; import org.bouncycastle.crypto.params.DSAParameters; -// END android-added import org.bouncycastle.crypto.params.ParametersWithRandom; -// BEGIN android-removed -// import org.bouncycastle.crypto.digests.SHA1Digest; -// import org.bouncycastle.crypto.params.ParametersWithRandom; +// Android-removed: Unsupported algorithm // import org.bouncycastle.crypto.signers.HMacDSAKCalculator; +// Android-changed: Use Android digests // import org.bouncycastle.crypto.util.DigestFactory; -// END android-removed +import org.bouncycastle.crypto.digests.AndroidDigestFactory; import org.bouncycastle.util.Arrays; public class DSASigner @@ -83,13 +71,11 @@ public class DSASigner PrivateKey privateKey) throws InvalidKeyException { - CipherParameters param; + CipherParameters param = DSAUtil.generatePrivateKeyParameter(privateKey); - param = DSAUtil.generatePrivateKeyParameter(privateKey); - // BEGIN android-added + // Android-added: Check DSA keys when generated DSAParameters dsaParam = ((DSAKeyParameters) param).getParameters(); checkKey(dsaParam); - // END android-added if (random != null) { @@ -163,7 +149,7 @@ public class DSASigner throw new UnsupportedOperationException("engineSetParameter unsupported"); } - // BEGIN android-added + // BEGIN Android-added: Check DSA keys when generated protected void checkKey(DSAParameters params) throws InvalidKeyException { int valueL = params.getP().bitLength(); int valueN = params.getQ().bitLength(); @@ -184,7 +170,7 @@ public class DSASigner } } - // END android-added + // END Android-added: Check DSA keys when generated /** * @deprecated replaced with <a href = "#engineSetParameter(java.security.spec.AlgorithmParameterSpec)"> */ @@ -238,171 +224,180 @@ public class DSASigner { public stdDSA() { - // BEGIN android-changed + // Android-changed: Use Android digests + // super(DigestFactory.createSHA1(), new org.bouncycastle.crypto.signers.DSASigner()); super(AndroidDigestFactory.getSHA1(), new org.bouncycastle.crypto.signers.DSASigner()); - // END android-changed } } - // BEGIN android-removed - // static public class detDSA - // extends DSASigner - // { - // public detDSA() - // { - // super(DigestFactory.createSHA1(), new org.bouncycastle.crypto.signers.DSASigner(new HMacDSAKCalculator(DigestFactory.createSHA1()))); - // } - // } + // BEGIN Android-removed: Unsupported algorithm + /* + static public class detDSA + extends DSASigner + { + public detDSA() + { + super(DigestFactory.createSHA1(), new org.bouncycastle.crypto.signers.DSASigner(new HMacDSAKCalculator(DigestFactory.createSHA1()))); + } + } + */ + // END Android-removed: Unsupported algorithm static public class dsa224 extends DSASigner { public dsa224() { - // BEGIN android-changed + // Android-changed: Use Android digests + // super(DigestFactory.createSHA224(), new org.bouncycastle.crypto.signers.DSASigner()); super(AndroidDigestFactory.getSHA224(), new org.bouncycastle.crypto.signers.DSASigner()); - // END android-changed } } - // BEGIN android-removed - // static public class detDSA224 - // extends DSASigner - // { - // public detDSA224() - // { - // super(DigestFactory.createSHA224(), new org.bouncycastle.crypto.signers.DSASigner(new HMacDSAKCalculator(DigestFactory.createSHA224()))); - // } - // } + // BEGIN Android-removed: Unsupported algorithm + /* + static public class detDSA224 + extends DSASigner + { + public detDSA224() + { + super(DigestFactory.createSHA224(), new org.bouncycastle.crypto.signers.DSASigner(new HMacDSAKCalculator(DigestFactory.createSHA224()))); + } + } + */ + // END Android-removed: Unsupported algorithm static public class dsa256 extends DSASigner { public dsa256() { - // BEGIN android-changed + // Android-changed: Use Android digests + // super(DigestFactory.createSHA256(), new org.bouncycastle.crypto.signers.DSASigner()); super(AndroidDigestFactory.getSHA256(), new org.bouncycastle.crypto.signers.DSASigner()); - // END android-changed } } - // BEGIN android-removed - // static public class detDSA256 - // extends DSASigner - // { - // public detDSA256() - // { - // super(DigestFactory.createSHA256(), new org.bouncycastle.crypto.signers.DSASigner(new HMacDSAKCalculator(DigestFactory.createSHA256()))); - // } - // } - // - // static public class dsa384 - // extends DSASigner - // { - // public dsa384() - // { - // super(DigestFactory.createSHA384(), new org.bouncycastle.crypto.signers.DSASigner()); - // } - // } - // - // static public class detDSA384 - // extends DSASigner - // { - // public detDSA384() - // { - // super(DigestFactory.createSHA384(), new org.bouncycastle.crypto.signers.DSASigner(new HMacDSAKCalculator(DigestFactory.createSHA384()))); - // } - // } - // - // static public class dsa512 - // extends DSASigner - // { - // public dsa512() - // { - // super(DigestFactory.createSHA512(), new org.bouncycastle.crypto.signers.DSASigner()); - // } - // } - // - // static public class detDSA512 - // extends DSASigner - // { - // public detDSA512() - // { - // super(DigestFactory.createSHA512(), new org.bouncycastle.crypto.signers.DSASigner(new HMacDSAKCalculator(DigestFactory.createSHA512()))); - // } - // } - // - // static public class dsaSha3_224 - // extends DSASigner - // { - // public dsaSha3_224() - // { - // super(DigestFactory.createSHA3_224(), new org.bouncycastle.crypto.signers.DSASigner()); - // } - // } - // - // static public class detDSASha3_224 - // extends DSASigner - // { - // public detDSASha3_224() - // { - // super(DigestFactory.createSHA3_224(), new org.bouncycastle.crypto.signers.DSASigner(new HMacDSAKCalculator(DigestFactory.createSHA3_224()))); - // } - // } - // - // static public class dsaSha3_256 - // extends DSASigner - // { - // public dsaSha3_256() - // { - // super(DigestFactory.createSHA3_256(), new org.bouncycastle.crypto.signers.DSASigner()); - // } - // } - // - // static public class detDSASha3_256 - // extends DSASigner - // { - // public detDSASha3_256() - // { - // super(DigestFactory.createSHA3_256(), new org.bouncycastle.crypto.signers.DSASigner(new HMacDSAKCalculator(DigestFactory.createSHA3_256()))); - // } - // } - // - // static public class dsaSha3_384 - // extends DSASigner - // { - // public dsaSha3_384() - // { - // super(DigestFactory.createSHA3_384(), new org.bouncycastle.crypto.signers.DSASigner()); - // } - // } - // - // static public class detDSASha3_384 - // extends DSASigner - // { - // public detDSASha3_384() - // { - // super(DigestFactory.createSHA3_384(), new org.bouncycastle.crypto.signers.DSASigner(new HMacDSAKCalculator(DigestFactory.createSHA3_384()))); - // } - // } - // - // static public class dsaSha3_512 - // extends DSASigner - // { - // public dsaSha3_512() - // { - // super(DigestFactory.createSHA3_512(), new org.bouncycastle.crypto.signers.DSASigner()); - // } - // } - // - // static public class detDSASha3_512 - // extends DSASigner - // { - // public detDSASha3_512() - // { - // super(DigestFactory.createSHA3_512(), new org.bouncycastle.crypto.signers.DSASigner(new HMacDSAKCalculator(DigestFactory.createSHA3_512()))); - // } - // } - // END android-removed + + // BEGIN Android-removed: Unsupported algorithms + /* + static public class detDSA256 + extends DSASigner + { + public detDSA256() + { + super(DigestFactory.createSHA256(), new org.bouncycastle.crypto.signers.DSASigner(new HMacDSAKCalculator(DigestFactory.createSHA256()))); + } + } + + static public class dsa384 + extends DSASigner + { + public dsa384() + { + super(DigestFactory.createSHA384(), new org.bouncycastle.crypto.signers.DSASigner()); + } + } + + static public class detDSA384 + extends DSASigner + { + public detDSA384() + { + super(DigestFactory.createSHA384(), new org.bouncycastle.crypto.signers.DSASigner(new HMacDSAKCalculator(DigestFactory.createSHA384()))); + } + } + + static public class dsa512 + extends DSASigner + { + public dsa512() + { + super(DigestFactory.createSHA512(), new org.bouncycastle.crypto.signers.DSASigner()); + } + } + + static public class detDSA512 + extends DSASigner + { + public detDSA512() + { + super(DigestFactory.createSHA512(), new org.bouncycastle.crypto.signers.DSASigner(new HMacDSAKCalculator(DigestFactory.createSHA512()))); + } + } + + static public class dsaSha3_224 + extends DSASigner + { + public dsaSha3_224() + { + super(DigestFactory.createSHA3_224(), new org.bouncycastle.crypto.signers.DSASigner()); + } + } + + static public class detDSASha3_224 + extends DSASigner + { + public detDSASha3_224() + { + super(DigestFactory.createSHA3_224(), new org.bouncycastle.crypto.signers.DSASigner(new HMacDSAKCalculator(DigestFactory.createSHA3_224()))); + } + } + + static public class dsaSha3_256 + extends DSASigner + { + public dsaSha3_256() + { + super(DigestFactory.createSHA3_256(), new org.bouncycastle.crypto.signers.DSASigner()); + } + } + + static public class detDSASha3_256 + extends DSASigner + { + public detDSASha3_256() + { + super(DigestFactory.createSHA3_256(), new org.bouncycastle.crypto.signers.DSASigner(new HMacDSAKCalculator(DigestFactory.createSHA3_256()))); + } + } + + static public class dsaSha3_384 + extends DSASigner + { + public dsaSha3_384() + { + super(DigestFactory.createSHA3_384(), new org.bouncycastle.crypto.signers.DSASigner()); + } + } + + static public class detDSASha3_384 + extends DSASigner + { + public detDSASha3_384() + { + super(DigestFactory.createSHA3_384(), new org.bouncycastle.crypto.signers.DSASigner(new HMacDSAKCalculator(DigestFactory.createSHA3_384()))); + } + } + + static public class dsaSha3_512 + extends DSASigner + { + public dsaSha3_512() + { + super(DigestFactory.createSHA3_512(), new org.bouncycastle.crypto.signers.DSASigner()); + } + } + + static public class detDSASha3_512 + extends DSASigner + { + public detDSASha3_512() + { + super(DigestFactory.createSHA3_512(), new org.bouncycastle.crypto.signers.DSASigner(new HMacDSAKCalculator(DigestFactory.createSHA3_512()))); + } + } + */ + // END Android-removed: Unsupported algorithms static public class noneDSA extends DSASigner |