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

AttCertIssuer

using Org.BouncyCastle.Utilities; using System; namespace Org.BouncyCastle.Asn1.X509 { public class AttCertIssuer : Asn1Encodable, IAsn1Choice { internal readonly Asn1Encodable obj; internal readonly Asn1Object choiceObj; public Asn1Encodable Issuer => obj; public static AttCertIssuer GetInstance(object obj) { AttCertIssuer attCertIssuer = obj as AttCertIssuer; if (attCertIssuer != null) return attCertIssuer; V2Form v2Form = obj as V2Form; if (v2Form != null) return new AttCertIssuer(v2Form); GeneralNames generalNames = obj as GeneralNames; if (generalNames != null) return new AttCertIssuer(generalNames); Asn1TaggedObject asn1TaggedObject = obj as Asn1TaggedObject; if (asn1TaggedObject != null) return new AttCertIssuer(V2Form.GetInstance(asn1TaggedObject, false)); if (obj is Asn1Sequence) return new AttCertIssuer(GeneralNames.GetInstance(obj)); throw new ArgumentException("unknown object in factory: " + Platform.GetTypeName(obj), "obj"); } public static AttCertIssuer GetInstance(Asn1TaggedObject obj, bool isExplicit) { return Asn1Utilities.GetInstanceChoice(obj, isExplicit, GetInstance); } public static AttCertIssuer GetTagged(Asn1TaggedObject taggedObject, bool declaredExplicit) { return Asn1Utilities.GetTaggedChoice(taggedObject, declaredExplicit, GetInstance); } public AttCertIssuer(GeneralNames names) { obj = names; choiceObj = obj.ToAsn1Object(); } public AttCertIssuer(V2Form v2Form) { obj = v2Form; choiceObj = new DerTaggedObject(false, 0, obj); } public override Asn1Object ToAsn1Object() { return choiceObj; } } }