public static CmpCertificate GetInstance(object obj)
{
if (obj is CmpCertificate)
return (CmpCertificate)obj;
if (obj is Asn1Sequence)
return new CmpCertificate(X509CertificateStructure.GetInstance(obj));
if (obj is Asn1TaggedObject)
return new CmpCertificate(AttributeCertificate.GetInstance(((Asn1TaggedObject)obj).GetObject()));
throw new ArgumentException("Invalid object: " + obj.GetType().Name, "obj");
}