Files
SuperVPN/output/Libraries/BouncyCastle.Crypto/Org/BouncyCastle/Asn1/Cms/ScvpReqRes.cs
2025-10-09 09:57:24 +09:00

62 lines
1.3 KiB
C#

namespace Org.BouncyCastle.Asn1.Cms;
public class ScvpReqRes : Asn1Encodable
{
private readonly ContentInfo request;
private readonly ContentInfo response;
public virtual ContentInfo Request => request;
public virtual ContentInfo Response => 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)
{
request = ContentInfo.GetInstance(Asn1TaggedObject.GetInstance(seq[0]), isExplicit: true);
response = ContentInfo.GetInstance(seq[1]);
}
else
{
request = null;
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 override Asn1Object ToAsn1Object()
{
Asn1EncodableVector asn1EncodableVector = new Asn1EncodableVector();
if (request != null)
{
asn1EncodableVector.Add(new DerTaggedObject(explicitly: true, 0, request));
}
asn1EncodableVector.Add(response);
return new DerSequence(asn1EncodableVector);
}
}