AttCertIssuer
using System;
namespace Org.BouncyCastle.Asn1.X509
{
public class AttCertIssuer : Asn1Encodable, IAsn1Choice
{
private readonly Asn1Encodable obj;
private readonly Asn1Object choiceObj;
public Asn1Encodable Issuer => obj;
public static AttCertIssuer GetInstance(object obj)
{
return Asn1Utilities.GetInstanceChoice(obj, GetOptional);
}
public static AttCertIssuer GetInstance(Asn1TaggedObject obj, bool isExplicit)
{
return Asn1Utilities.GetInstanceChoice(obj, isExplicit, GetInstance);
}
public static AttCertIssuer GetOptional(Asn1Encodable element)
{
if (element == null)
throw new ArgumentNullException("element");
AttCertIssuer attCertIssuer = element as AttCertIssuer;
if (attCertIssuer != null)
return attCertIssuer;
GeneralNames optional = GeneralNames.GetOptional(element);
if (optional != null)
return new AttCertIssuer(optional);
Asn1TaggedObject optional2 = Asn1TaggedObject.GetOptional(element);
if (optional2 != null && optional2.HasContextTag(0))
return new AttCertIssuer(V2Form.GetTagged(optional2, false));
V2Form optional3 = V2Form.GetOptional(element);
if (optional3 != null)
return new AttCertIssuer(optional3);
return null;
}
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;
}
}
}