<PackageReference Include="BouncyCastle.Cryptography" Version="2.5.0" />

PolicyQualifierInfo

using System; namespace Org.BouncyCastle.Asn1.X509 { public class PolicyQualifierInfo : Asn1Encodable { private readonly DerObjectIdentifier m_policyQualifierId; private readonly Asn1Encodable m_qualifier; public virtual DerObjectIdentifier PolicyQualifierId => m_policyQualifierId; public virtual Asn1Encodable Qualifier => m_qualifier; public static PolicyQualifierInfo GetInstance(object obj) { if (obj == null) return null; PolicyQualifierInfo policyQualifierInfo = obj as PolicyQualifierInfo; if (policyQualifierInfo != null) return policyQualifierInfo; return new PolicyQualifierInfo(Asn1Sequence.GetInstance(obj)); } public static PolicyQualifierInfo GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit) { return new PolicyQualifierInfo(Asn1Sequence.GetInstance(taggedObject, declaredExplicit)); } public static PolicyQualifierInfo GetTagged(Asn1TaggedObject taggedObject, bool declaredExplicit) { return new PolicyQualifierInfo(Asn1Sequence.GetTagged(taggedObject, declaredExplicit)); } private PolicyQualifierInfo(Asn1Sequence seq) { int count = seq.Count; if (count != 2) throw new ArgumentException("Bad sequence size: " + count.ToString(), "seq"); m_policyQualifierId = DerObjectIdentifier.GetInstance(seq[0]); m_qualifier = seq[1]; } public PolicyQualifierInfo(DerObjectIdentifier policyQualifierId, Asn1Encodable qualifier) { if (policyQualifierId == null) throw new ArgumentNullException("policyQualifierId"); m_policyQualifierId = policyQualifierId; if (qualifier == null) throw new ArgumentNullException("qualifier"); m_qualifier = qualifier; } public PolicyQualifierInfo(string cps) { m_policyQualifierId = PolicyQualifierID.IdQtCps; m_qualifier = new DerIA5String(cps); } public override Asn1Object ToAsn1Object() { return new DerSequence(m_policyQualifierId, m_qualifier); } } }