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

QCStatement

public class QCStatement : Asn1Encodable
using System; namespace Org.BouncyCastle.Asn1.X509.Qualified { public class QCStatement : Asn1Encodable { private readonly DerObjectIdentifier m_statementId; private readonly Asn1Encodable m_statementInfo; public DerObjectIdentifier StatementId => m_statementId; public Asn1Encodable StatementInfo => m_statementInfo; public static QCStatement GetInstance(object obj) { if (obj == null) return null; QCStatement qCStatement = obj as QCStatement; if (qCStatement != null) return qCStatement; return new QCStatement(Asn1Sequence.GetInstance(obj)); } public static QCStatement GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit) { return new QCStatement(Asn1Sequence.GetInstance(taggedObject, declaredExplicit)); } public static QCStatement GetTagged(Asn1TaggedObject taggedObject, bool declaredExplicit) { return new QCStatement(Asn1Sequence.GetTagged(taggedObject, declaredExplicit)); } private QCStatement(Asn1Sequence seq) { int count = seq.Count; if (count < 1 || count > 2) throw new ArgumentException("Bad sequence size: " + count.ToString(), "seq"); m_statementId = DerObjectIdentifier.GetInstance(seq[0]); if (seq.Count > 1) m_statementInfo = seq[1]; } public QCStatement(DerObjectIdentifier qcStatementId) : this(qcStatementId, null) { } public QCStatement(DerObjectIdentifier qcStatementId, Asn1Encodable qcStatementInfo) { if (qcStatementId == null) throw new ArgumentNullException("qcStatementId"); m_statementId = qcStatementId; m_statementInfo = qcStatementInfo; } public override Asn1Object ToAsn1Object() { if (m_statementInfo != null) return new DerSequence(m_statementId, m_statementInfo); return new DerSequence(m_statementId); } } }