001package org.apache.commons.ssl.org.bouncycastle.asn1.esf; 002 003import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1EncodableVector; 004import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1GeneralizedTime; 005import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Object; 006import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Primitive; 007import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Sequence; 008import org.apache.commons.ssl.org.bouncycastle.asn1.DERSequence; 009import org.apache.commons.ssl.org.bouncycastle.asn1.ocsp.ResponderID; 010 011/** 012 * <pre> 013 * OcspIdentifier ::= SEQUENCE { 014 * ocspResponderID ResponderID, -- As in OCSP response data 015 * producedAt GeneralizedTime -- As in OCSP response data 016 * } 017 * </pre> 018 */ 019public class OcspIdentifier 020 extends ASN1Object 021{ 022 private ResponderID ocspResponderID; 023 private ASN1GeneralizedTime producedAt; 024 025 public static OcspIdentifier getInstance(Object obj) 026 { 027 if (obj instanceof OcspIdentifier) 028 { 029 return (OcspIdentifier)obj; 030 } 031 else if (obj != null) 032 { 033 return new OcspIdentifier(ASN1Sequence.getInstance(obj)); 034 } 035 036 return null; 037 } 038 039 private OcspIdentifier(ASN1Sequence seq) 040 { 041 if (seq.size() != 2) 042 { 043 throw new IllegalArgumentException("Bad sequence size: " 044 + seq.size()); 045 } 046 this.ocspResponderID = ResponderID.getInstance(seq.getObjectAt(0)); 047 this.producedAt = (ASN1GeneralizedTime)seq.getObjectAt(1); 048 } 049 050 public OcspIdentifier(ResponderID ocspResponderID, ASN1GeneralizedTime producedAt) 051 { 052 this.ocspResponderID = ocspResponderID; 053 this.producedAt = producedAt; 054 } 055 056 public ResponderID getOcspResponderID() 057 { 058 return this.ocspResponderID; 059 } 060 061 public ASN1GeneralizedTime getProducedAt() 062 { 063 return this.producedAt; 064 } 065 066 public ASN1Primitive toASN1Primitive() 067 { 068 ASN1EncodableVector v = new ASN1EncodableVector(); 069 v.add(this.ocspResponderID); 070 v.add(this.producedAt); 071 return new DERSequence(v); 072 } 073}