001package org.apache.commons.ssl.org.bouncycastle.asn1.tsp; 002 003import java.util.Enumeration; 004 005import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1EncodableVector; 006import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Object; 007import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Primitive; 008import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Sequence; 009import org.apache.commons.ssl.org.bouncycastle.asn1.DERSequence; 010import org.apache.commons.ssl.org.bouncycastle.asn1.cmp.PKIStatusInfo; 011import org.apache.commons.ssl.org.bouncycastle.asn1.cms.ContentInfo; 012 013 014public class TimeStampResp 015 extends ASN1Object 016{ 017 PKIStatusInfo pkiStatusInfo; 018 019 ContentInfo timeStampToken; 020 021 public static TimeStampResp getInstance(Object o) 022 { 023 if (o instanceof TimeStampResp) 024 { 025 return (TimeStampResp) o; 026 } 027 else if (o != null) 028 { 029 return new TimeStampResp(ASN1Sequence.getInstance(o)); 030 } 031 032 return null; 033 } 034 035 private TimeStampResp(ASN1Sequence seq) 036 { 037 038 Enumeration e = seq.getObjects(); 039 040 // status 041 pkiStatusInfo = PKIStatusInfo.getInstance(e.nextElement()); 042 043 if (e.hasMoreElements()) 044 { 045 timeStampToken = ContentInfo.getInstance(e.nextElement()); 046 } 047 } 048 049 public TimeStampResp(PKIStatusInfo pkiStatusInfo, ContentInfo timeStampToken) 050 { 051 this.pkiStatusInfo = pkiStatusInfo; 052 this.timeStampToken = timeStampToken; 053 } 054 055 public PKIStatusInfo getStatus() 056 { 057 return pkiStatusInfo; 058 } 059 060 public ContentInfo getTimeStampToken() 061 { 062 return timeStampToken; 063 } 064 065 /** 066 * <pre> 067 * TimeStampResp ::= SEQUENCE { 068 * status PKIStatusInfo, 069 * timeStampToken TimeStampToken OPTIONAL } 070 * </pre> 071 */ 072 public ASN1Primitive toASN1Primitive() 073 { 074 ASN1EncodableVector v = new ASN1EncodableVector(); 075 076 v.add(pkiStatusInfo); 077 if (timeStampToken != null) 078 { 079 v.add(timeStampToken); 080 } 081 082 return new DERSequence(v); 083 } 084}