2002/03/21 01:19:32
[org.ibex.core.git] / src / org / bouncycastle / asn1 / x509 / DSAParameter.java
diff --git a/src/org/bouncycastle/asn1/x509/DSAParameter.java b/src/org/bouncycastle/asn1/x509/DSAParameter.java
new file mode 100644 (file)
index 0000000..b6234bb
--- /dev/null
@@ -0,0 +1,58 @@
+package org.bouncycastle.asn1.x509;
+
+import java.math.*;
+import java.util.*;
+
+import org.bouncycastle.asn1.*;
+
+public class DSAParameter
+    implements DEREncodable
+{
+    DERInteger      p, q, g;
+
+    public DSAParameter(
+        BigInteger  p,
+        BigInteger  q,
+        BigInteger  g)
+    {
+        this.p = new DERInteger(p);
+        this.q = new DERInteger(q);
+        this.g = new DERInteger(g);
+    }
+
+    public DSAParameter(
+        DERConstructedSequence  seq)
+    {
+        Enumeration     e = seq.getObjects();
+
+        p = (DERInteger)e.nextElement();
+        q = (DERInteger)e.nextElement();
+        g = (DERInteger)e.nextElement();
+    }
+
+    public BigInteger getP()
+    {
+        return p.getPositiveValue();
+    }
+
+    public BigInteger getQ()
+    {
+        return q.getPositiveValue();
+    }
+
+    public BigInteger getG()
+    {
+        return g.getPositiveValue();
+    }
+
+    public DERObject getDERObject()
+    {
+        DERConstructedSequence  seq = new DERConstructedSequence();
+
+        seq.addObject(p);
+        seq.addObject(q);
+        seq.addObject(g);
+
+        return seq;
+    }
+}