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

PolicyInformation

using System; namespace Org.BouncyCastle.Asn1.X509 { public class PolicyInformation : Asn1Encodable { private readonly DerObjectIdentifier policyIdentifier; private readonly Asn1Sequence policyQualifiers; public DerObjectIdentifier PolicyIdentifier => policyIdentifier; public Asn1Sequence PolicyQualifiers => policyQualifiers; private PolicyInformation(Asn1Sequence seq) { if (seq.Count < 1 || seq.Count > 2) throw new ArgumentException("Bad sequence size: " + seq.Count.ToString()); policyIdentifier = DerObjectIdentifier.GetInstance(seq[0]); if (seq.Count > 1) policyQualifiers = Asn1Sequence.GetInstance(seq[1]); } public PolicyInformation(DerObjectIdentifier policyIdentifier) { this.policyIdentifier = policyIdentifier; } public PolicyInformation(DerObjectIdentifier policyIdentifier, Asn1Sequence policyQualifiers) { this.policyIdentifier = policyIdentifier; this.policyQualifiers = policyQualifiers; } public static PolicyInformation GetInstance(object obj) { if (obj == null || obj is PolicyInformation) return (PolicyInformation)obj; return new PolicyInformation(Asn1Sequence.GetInstance(obj)); } public override Asn1Object ToAsn1Object() { Asn1EncodableVector asn1EncodableVector = new Asn1EncodableVector(policyIdentifier); asn1EncodableVector.AddOptional(policyQualifiers); return new DerSequence(asn1EncodableVector); } } }