<PackageReference Include="BouncyCastle.Cryptography" Version="2.7.0-beta.98" />

ScvpReqRes

public class ScvpReqRes : Asn1Encodable
using System; namespace Org.BouncyCastle.Asn1.Cms { public class ScvpReqRes : Asn1Encodable { private readonly ContentInfo m_request; private readonly ContentInfo m_response; public virtual ContentInfo Request => m_request; public virtual ContentInfo Response => m_response; public static ScvpReqRes GetInstance(object obj) { if (obj == null) return null; ScvpReqRes scvpReqRes = obj as ScvpReqRes; if (scvpReqRes != null) return scvpReqRes; return new ScvpReqRes(Asn1Sequence.GetInstance(obj)); } public static ScvpReqRes GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit) { return new ScvpReqRes(Asn1Sequence.GetInstance(taggedObject, declaredExplicit)); } public static ScvpReqRes GetTagged(Asn1TaggedObject taggedObject, bool declaredExplicit) { return new ScvpReqRes(Asn1Sequence.GetTagged(taggedObject, declaredExplicit)); } private ScvpReqRes(Asn1Sequence seq) { int count = seq.Count; int sequencePosition = 0; if (count < 1 || count > 2) throw new ArgumentException("Bad sequence size: " + count.ToString(), "seq"); m_request = Asn1Utilities.ReadOptionalContextTagged(seq, ref sequencePosition, 0, true, ContentInfo.GetTagged); m_response = ContentInfo.GetInstance(seq[sequencePosition++]); if (sequencePosition != count) throw new ArgumentException("Unexpected elements in sequence", "seq"); } public ScvpReqRes(ContentInfo response) : this(null, response) { } public ScvpReqRes(ContentInfo request, ContentInfo response) { m_request = request; if (response == null) throw new ArgumentNullException("response"); m_response = response; } public override Asn1Object ToAsn1Object() { if (m_request == null) return new DerSequence(m_response); return new DerSequence(new DerTaggedObject(true, 0, m_request), m_response); } } }