AttCertValidityPeriod.java revision e6bf3e8dfa2804891a82075cb469b736321b4827
1package org.bouncycastle.asn1.x509;
2
3import org.bouncycastle.asn1.ASN1EncodableVector;
4import org.bouncycastle.asn1.ASN1Object;
5import org.bouncycastle.asn1.ASN1Primitive;
6import org.bouncycastle.asn1.ASN1Sequence;
7import org.bouncycastle.asn1.DERGeneralizedTime;
8import org.bouncycastle.asn1.DERSequence;
9
10public class AttCertValidityPeriod
11    extends ASN1Object
12{
13    DERGeneralizedTime  notBeforeTime;
14    DERGeneralizedTime  notAfterTime;
15
16    public static AttCertValidityPeriod getInstance(
17            Object  obj)
18    {
19        if (obj instanceof AttCertValidityPeriod)
20        {
21            return (AttCertValidityPeriod)obj;
22        }
23        else if (obj != null)
24        {
25            return new AttCertValidityPeriod(ASN1Sequence.getInstance(obj));
26        }
27
28        return null;
29    }
30
31    private AttCertValidityPeriod(
32        ASN1Sequence    seq)
33    {
34        if (seq.size() != 2)
35        {
36            throw new IllegalArgumentException("Bad sequence size: "
37                    + seq.size());
38        }
39
40        notBeforeTime = DERGeneralizedTime.getInstance(seq.getObjectAt(0));
41        notAfterTime = DERGeneralizedTime.getInstance(seq.getObjectAt(1));
42    }
43
44    /**
45     * @param notBeforeTime
46     * @param notAfterTime
47     */
48    public AttCertValidityPeriod(
49        DERGeneralizedTime notBeforeTime,
50        DERGeneralizedTime notAfterTime)
51    {
52        this.notBeforeTime = notBeforeTime;
53        this.notAfterTime = notAfterTime;
54    }
55
56    public DERGeneralizedTime getNotBeforeTime()
57    {
58        return notBeforeTime;
59    }
60
61    public DERGeneralizedTime getNotAfterTime()
62    {
63        return notAfterTime;
64    }
65
66    /**
67     * Produce an object suitable for an ASN1OutputStream.
68     * <pre>
69     *  AttCertValidityPeriod  ::= SEQUENCE {
70     *       notBeforeTime  GeneralizedTime,
71     *       notAfterTime   GeneralizedTime
72     *  }
73     * </pre>
74     */
75    public ASN1Primitive toASN1Primitive()
76    {
77        ASN1EncodableVector  v = new ASN1EncodableVector();
78
79        v.add(notBeforeTime);
80        v.add(notAfterTime);
81
82        return new DERSequence(v);
83    }
84}
85