Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/quite/humla-spongycastle.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Dettman <peter.dettman@bouncycastle.org>2014-01-05 15:48:43 +0400
committerPeter Dettman <peter.dettman@bouncycastle.org>2014-01-05 15:48:43 +0400
commitaad3520281888f8228bb4da67d23d1cd0e9cd9f8 (patch)
tree68ac36de1696c61c5af3a36d7923c8c2e10ae5a0 /core/src/main/java/org/bouncycastle/asn1
parent584df7351aa65334ac7ea87958bf4960ed5ae2d8 (diff)
Add guards to make sure the k values are sensible
Diffstat (limited to 'core/src/main/java/org/bouncycastle/asn1')
-rw-r--r--core/src/main/java/org/bouncycastle/asn1/x9/X9FieldID.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/core/src/main/java/org/bouncycastle/asn1/x9/X9FieldID.java b/core/src/main/java/org/bouncycastle/asn1/x9/X9FieldID.java
index c1edcf4b..cb74234e 100644
--- a/core/src/main/java/org/bouncycastle/asn1/x9/X9FieldID.java
+++ b/core/src/main/java/org/bouncycastle/asn1/x9/X9FieldID.java
@@ -69,11 +69,21 @@ public class X9FieldID
if (k2 == 0)
{
+ if (k3 != 0)
+ {
+ throw new IllegalArgumentException("inconsistent k values");
+ }
+
fieldIdParams.add(tpBasis);
fieldIdParams.add(new ASN1Integer(k1));
}
else
{
+ if (k2 <= k1 || k3 <= k2)
+ {
+ throw new IllegalArgumentException("inconsistent k values");
+ }
+
fieldIdParams.add(ppBasis);
ASN1EncodableVector pentanomialParams = new ASN1EncodableVector();
pentanomialParams.add(new ASN1Integer(k1));