diff options
Diffstat (limited to 'core/src/main/java/org/spongycastle/asn1/esf/OcspIdentifier.java')
-rw-r--r-- | core/src/main/java/org/spongycastle/asn1/esf/OcspIdentifier.java | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/core/src/main/java/org/spongycastle/asn1/esf/OcspIdentifier.java b/core/src/main/java/org/spongycastle/asn1/esf/OcspIdentifier.java new file mode 100644 index 00000000..80989249 --- /dev/null +++ b/core/src/main/java/org/spongycastle/asn1/esf/OcspIdentifier.java @@ -0,0 +1,73 @@ +package org.spongycastle.asn1.esf; + +import org.spongycastle.asn1.ASN1EncodableVector; +import org.spongycastle.asn1.ASN1GeneralizedTime; +import org.spongycastle.asn1.ASN1Object; +import org.spongycastle.asn1.ASN1Primitive; +import org.spongycastle.asn1.ASN1Sequence; +import org.spongycastle.asn1.DERSequence; +import org.spongycastle.asn1.ocsp.ResponderID; + +/** + * <pre> + * OcspIdentifier ::= SEQUENCE { + * ocspResponderID ResponderID, -- As in OCSP response data + * producedAt GeneralizedTime -- As in OCSP response data + * } + * </pre> + */ +public class OcspIdentifier + extends ASN1Object +{ + private ResponderID ocspResponderID; + private ASN1GeneralizedTime producedAt; + + public static OcspIdentifier getInstance(Object obj) + { + if (obj instanceof OcspIdentifier) + { + return (OcspIdentifier)obj; + } + else if (obj != null) + { + return new OcspIdentifier(ASN1Sequence.getInstance(obj)); + } + + return null; + } + + private OcspIdentifier(ASN1Sequence seq) + { + if (seq.size() != 2) + { + throw new IllegalArgumentException("Bad sequence size: " + + seq.size()); + } + this.ocspResponderID = ResponderID.getInstance(seq.getObjectAt(0)); + this.producedAt = (ASN1GeneralizedTime)seq.getObjectAt(1); + } + + public OcspIdentifier(ResponderID ocspResponderID, ASN1GeneralizedTime producedAt) + { + this.ocspResponderID = ocspResponderID; + this.producedAt = producedAt; + } + + public ResponderID getOcspResponderID() + { + return this.ocspResponderID; + } + + public ASN1GeneralizedTime getProducedAt() + { + return this.producedAt; + } + + public ASN1Primitive toASN1Primitive() + { + ASN1EncodableVector v = new ASN1EncodableVector(); + v.add(this.ocspResponderID); + v.add(this.producedAt); + return new DERSequence(v); + } +} |