1package org.bouncycastle.jce.spec;
2
3import java.math.BigInteger;
4
5import org.bouncycastle.math.ec.ECCurve;
6import org.bouncycastle.math.ec.ECPoint;
7
8/**
9 * specification signifying that the curve parameters can also be
10 * refered to by name.
11 * <p>
12 * If you are using JDK 1.5 you should be looking at ECNamedCurveSpec.
13 */
14public class ECNamedCurveParameterSpec
15    extends ECParameterSpec
16{
17    private String  name;
18
19    public ECNamedCurveParameterSpec(
20        String      name,
21        ECCurve     curve,
22        ECPoint     G,
23        BigInteger  n)
24    {
25        super(curve, G, n);
26
27        this.name = name;
28    }
29
30    public ECNamedCurveParameterSpec(
31        String      name,
32        ECCurve     curve,
33        ECPoint     G,
34        BigInteger  n,
35        BigInteger  h)
36    {
37        super(curve, G, n, h);
38
39        this.name = name;
40    }
41
42    public ECNamedCurveParameterSpec(
43        String      name,
44        ECCurve     curve,
45        ECPoint     G,
46        BigInteger  n,
47        BigInteger  h,
48        byte[]      seed)
49    {
50        super(curve, G, n, h, seed);
51
52        this.name = name;
53    }
54
55    /**
56     * return the name of the curve the EC domain parameters belong to.
57     */
58    public String getName()
59    {
60        return name;
61    }
62}
63