TimeStampedData
namespace Org.BouncyCastle.Asn1.Cms
{
public class TimeStampedData : Asn1Encodable
{
private DerInteger version;
private DerIA5String dataUri;
private MetaData metaData;
private Asn1OctetString content;
private Evidence temporalEvidence;
public virtual DerIA5String DataUri => dataUri;
public MetaData MetaData => metaData;
public Asn1OctetString Content => content;
public Evidence TemporalEvidence => temporalEvidence;
public static TimeStampedData GetInstance(object obj)
{
if (obj == null)
return null;
TimeStampedData timeStampedData = obj as TimeStampedData;
if (timeStampedData != null)
return timeStampedData;
return new TimeStampedData(Asn1Sequence.GetInstance(obj));
}
public static TimeStampedData GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
return new TimeStampedData(Asn1Sequence.GetInstance(taggedObject, declaredExplicit));
}
public TimeStampedData(DerIA5String dataUri, MetaData metaData, Asn1OctetString content, Evidence temporalEvidence)
{
version = new DerInteger(1);
this.dataUri = dataUri;
this.metaData = metaData;
this.content = content;
this.temporalEvidence = temporalEvidence;
}
private TimeStampedData(Asn1Sequence seq)
{
version = DerInteger.GetInstance(seq[0]);
int num = 1;
DerIA5String derIA5String = seq[num] as DerIA5String;
if (derIA5String != null) {
dataUri = derIA5String;
num++;
}
if (seq[num] is MetaData || seq[num] is Asn1Sequence)
metaData = MetaData.GetInstance(seq[num++]);
Asn1OctetString asn1OctetString = seq[num] as Asn1OctetString;
if (asn1OctetString != null) {
content = asn1OctetString;
num++;
}
temporalEvidence = Evidence.GetInstance(seq[num]);
}
public override Asn1Object ToAsn1Object()
{
Asn1EncodableVector asn1EncodableVector = new Asn1EncodableVector(version);
asn1EncodableVector.AddOptional(dataUri, metaData, content);
asn1EncodableVector.Add(temporalEvidence);
return new BerSequence(asn1EncodableVector);
}
}
}