using System; namespace Org.BouncyCastle.Asn1.Cms { public class ScvpReqRes : Asn1Encodable { private readonly ContentInfo request; private readonly ContentInfo response; public static ScvpReqRes GetInstance(object obj) { if (obj is ScvpReqRes) return (ScvpReqRes)obj; if (obj != null) return new ScvpReqRes(Asn1Sequence.GetInstance(obj)); return null; } private ScvpReqRes(Asn1Sequence seq) { if (seq[0] is Asn1TaggedObject) { this.request = ContentInfo.GetInstance(Asn1TaggedObject.GetInstance(seq[0]), true); this.response = ContentInfo.GetInstance(seq[1]); } else { this.request = null; this.response = ContentInfo.GetInstance(seq[0]); } } public ScvpReqRes(ContentInfo response) : this(null, response) { } public ScvpReqRes(ContentInfo request, ContentInfo response) { this.request = request; this.response = response; } public virtual ContentInfo Request { get { return request; } } public virtual ContentInfo Response { get { return response; } } /** *
* ScvpReqRes ::= SEQUENCE { * request [0] EXPLICIT ContentInfo OPTIONAL, * response ContentInfo } ** @return the ASN.1 primitive representation. */ public override Asn1Object ToAsn1Object() { Asn1EncodableVector v = new Asn1EncodableVector(); if (request != null) { v.Add(new DerTaggedObject(true, 0, request)); } v.Add(response); return new DerSequence(v); } } }