示例#1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="unknownExtension"/> class.
 /// </summary>
 /// <param name="OID">The oid.</param>
 /// <param name="Extension">The extension.</param>
 public unknownExtension(DerObjectIdentifier OID, X509Extension Extension)
 {
     base.oid         = OID;
     base.name        = "Unknown";
     base.displayName = "Unknown";
     base.encValue    = X509Extension.ConvertValueToObject(Extension);
 }
示例#2
0
 public new static KeyUsage GetInstance(object obj)
 {
     if (obj is KeyUsage)
     {
         return((KeyUsage)obj);
     }
     if (obj is X509Extension)
     {
         return(GetInstance(X509Extension.ConvertValueToObject((X509Extension)obj)));
     }
     return(new KeyUsage(DerBitString.GetInstance(obj)));
 }
示例#3
0
        /// <summary>
        /// Create CaVersion extension from X509Extension
        /// </summary>
        /// <param name="Extension">X509Extension instance</param>
        public caVersion(X509Extension Extension)
            : base(Extension)
        {
            base.oid         = MsCaVersion.CaVersion;
            base.name        = "CaVersion";
            base.displayName = "CA Version";

            DerInteger  ver = (DerInteger)X509Extension.ConvertValueToObject(Extension);
            MsCaVersion cav = MsCaVersion.GetInstance(Extension);

            Version = cav.Version;
        }
示例#4
0
        /// <summary>
        /// Create CaVersion extension from X509Extension
        /// </summary>
        /// <param name="Extension">X509Extension instance</param>
        public prevCaCertHash(X509Extension Extension)
            : base(Extension)
        {
            base.oid         = MsPrevCaCertHash.PrevHash;
            base.name        = "PrevCaCertHash";
            base.displayName = "Previous CA Certificate Hash";

            DerOctetString   hash  = (DerOctetString)X509Extension.ConvertValueToObject(Extension);
            MsPrevCaCertHash pHash = MsPrevCaCertHash.GetInstance(Extension);

            Hash = pHash.Hash;
        }
示例#5
0
 public static PrivateKeyUsagePeriod GetInstance(object obj)
 {
     if (obj is PrivateKeyUsagePeriod)
     {
         return((PrivateKeyUsagePeriod)obj);
     }
     if (obj is Asn1Sequence)
     {
         return(new PrivateKeyUsagePeriod((Asn1Sequence)obj));
     }
     if (obj is X509Extension)
     {
         return(GetInstance(X509Extension.ConvertValueToObject((X509Extension)obj)));
     }
     throw new ArgumentException("unknown object in GetInstance: " + Platform.GetTypeName(obj), "obj");
 }
 public static ExtendedKeyUsage GetInstance(object obj)
 {
     if (obj is ExtendedKeyUsage)
     {
         return((ExtendedKeyUsage)obj);
     }
     if (obj is Asn1Sequence)
     {
         return(new ExtendedKeyUsage((Asn1Sequence)obj));
     }
     if (obj is X509Extension)
     {
         return(GetInstance(X509Extension.ConvertValueToObject((X509Extension)obj)));
     }
     throw new ArgumentException("Invalid ExtendedKeyUsage: " + Platform.GetTypeName(obj));
 }
 public static BasicConstraints GetInstance(object obj)
 {
     if (obj == null || obj is BasicConstraints)
     {
         return((BasicConstraints)obj);
     }
     if (obj is Asn1Sequence)
     {
         return(new BasicConstraints((Asn1Sequence)obj));
     }
     if (obj is X509Extension)
     {
         return(GetInstance(X509Extension.ConvertValueToObject((X509Extension)obj)));
     }
     throw new ArgumentException("unknown object in factory: " + Platform.GetTypeName(obj), "obj");
 }
示例#8
0
        /// <summary>
        /// Get the instance of the certificate policies
        /// </summary>
        /// <param name="obj">CertificatePolicies instance</param>
        /// <returns>An instance of the CertificatePolicies class</returns>
        /// <exception cref="System.ArgumentException">Unknown object in factory</exception>
        public static CertificatePolicies GetInstance(Object obj)
        {
            if (obj is CertificatePolicies)
            {
                return((CertificatePolicies)obj);
            }

            if (obj is Asn1Sequence)
            {
                return(new CertificatePolicies((Asn1Sequence)obj));
            }

            if (obj is X509Extension)
            {
                return(GetInstance(X509Extension.ConvertValueToObject((X509Extension)obj)));
            }

            throw new ArgumentException("Unknown object in factory");
        }
示例#9
0
        /// <summary>
        /// Gets the instance.
        /// </summary>
        /// <param name="obj">The object.</param>
        /// <returns></returns>
        /// <exception cref="System.ArgumentException">Unknown object in factory</exception>
        public static MsPrevCaCertHash GetInstance(object obj)
        {
            if (obj is MsPrevCaCertHash || obj == null)
            {
                return((MsPrevCaCertHash)obj);
            }

            if (obj is DerOctetString)
            {
                return(new MsPrevCaCertHash((DerOctetString)obj));
            }

            if (obj is X509Extension)
            {
                return(GetInstance(X509Extension.ConvertValueToObject((X509Extension)obj)));
            }

            throw new ArgumentException("unknown object in factory: " + obj.GetType().Name, "obj");
        }
示例#10
0
        /// <summary>
        /// Gets the instance.
        /// </summary>
        /// <param name="obj">The object.</param>
        /// <returns></returns>
        /// <exception cref="System.ArgumentException">Unknown object in factory</exception>
        public static MsCaVersion GetInstance(object obj)
        {
            if (obj is MsCaVersion || obj == null)
            {
                return((MsCaVersion)obj);
            }

            if (obj is DerInteger)
            {
                return(new MsCaVersion((DerInteger)obj));
            }

            if (obj is X509Extension)
            {
                return(GetInstance(X509Extension.ConvertValueToObject((X509Extension)obj)));
            }

            throw new ArgumentException("unknown object in factory: " + obj.GetType().Name, "obj");
        }
示例#11
0
        /// <summary>
        /// Gets the instance.
        /// </summary>
        /// <param name="obj">The object.</param>
        /// <returns></returns>
        /// <exception cref="System.ArgumentException">unknown object in factory:  + obj.GetType().Name;obj</exception>
        public static MsCertTemplateInfo GetInstance(object obj)
        {
            if (obj is MsCertTemplateInfo || obj == null)
            {
                return((MsCertTemplateInfo)obj);
            }

            if (obj is Asn1Sequence)
            {
                return(new MsCertTemplateInfo((Asn1Sequence)obj));
            }

            if (obj is X509Extension)
            {
                return(GetInstance(X509Extension.ConvertValueToObject((X509Extension)obj)));
            }

            throw new ArgumentException("unknown object in factory: " + obj.GetType().Name, "obj");
        }
示例#12
0
        /// <summary>
        /// Return an instance of the OcspNoCheck class
        /// </summary>
        /// <param name="obj">An object</param>
        /// <returns>OcspNoCheck instance</returns>
        /// <exception cref="ArgumentException">Unknown object in factory (not an instance of OcspNoCheck)</exception>
        public static OcspNocheck GetInstance(Object obj)
        {
            if (obj is OcspNocheck)
            {
                return((OcspNocheck)obj);
            }

            if (obj is DerNull)
            {
                return(new OcspNocheck());
            }

            if (obj is X509Extension)
            {
                return(GetInstance(X509Extension.ConvertValueToObject((X509Extension)obj)));
            }

            throw new ArgumentException("Unknown object in factory");
        }
示例#13
0
        /// <summary>
        /// Create PolicyConstraints extension from an X509Extension
        /// </summary>
        /// <param name="Extension">X509Extension</param>
        public policyConstraints(X509Extension Extension) : base(Extension)
        {
            base.oid         = X509Extensions.PolicyConstraints;
            base.name        = "PolicyConstraints";
            base.displayName = "Policy Constraints";

            Asn1Sequence pc = (Asn1Sequence)X509Extension.ConvertValueToObject(Extension);

            foreach (Asn1TaggedObject o in pc)
            {
                if (o.TagNo == 0)
                {
                    reqExplicitPol = (((DerInteger)o.GetObject()).Value).IntValue;
                }
                if (o.TagNo == 1)
                {
                    inhibPolMap = (((DerInteger)o.GetObject()).Value).IntValue;
                }
            }
        }
 public static SubjectKeyIdentifier GetInstance(object obj)
 {
     if (obj is SubjectKeyIdentifier)
     {
         return((SubjectKeyIdentifier)obj);
     }
     if (obj is SubjectPublicKeyInfo)
     {
         return(new SubjectKeyIdentifier((SubjectPublicKeyInfo)obj));
     }
     if (obj is Asn1OctetString)
     {
         return(new SubjectKeyIdentifier((Asn1OctetString)obj));
     }
     if (obj is X509Extension)
     {
         return(GetInstance(X509Extension.ConvertValueToObject((X509Extension)obj)));
     }
     throw new ArgumentException("Invalid SubjectKeyIdentifier: " + Platform.GetTypeName(obj));
 }
示例#15
0
        /// <summary>
        /// Gets the instance.
        /// </summary>
        /// <param name="obj">The object.</param>
        /// <returns></returns>
        /// <exception cref="System.ArgumentException">unknown object in factory:  + obj.GetType().Name;obj</exception>
        public static MsCertTemplateName GetInstance(object obj)
        {
            if (obj is MsCertTemplateName || obj == null)
            {
                return((MsCertTemplateName)obj);
            }

            if (obj is Asn1OctetString)
            {
                return(new MsCertTemplateName((Asn1OctetString)obj));
            }

            if (obj is X509Extension)
            {
                DerBmpString val = DerBmpString.GetInstance(X509Extension.ConvertValueToObject((X509Extension)obj));
                return(new MsCertTemplateName(val.GetString()));
            }

            throw new ArgumentException("unknown object in factory: " + obj.GetType().Name, "obj");
        }
示例#16
0
        /// <summary>
        /// Gets the instance.
        /// </summary>
        /// <param name="obj">The object.</param>
        /// <returns>An instance of the SubjectInformationAccess class</returns>
        /// <exception cref="System.ArgumentException">unknown object in factory</exception>
        public static SubjectInformationAccess GetInstance(
            object obj)
        {
            if (obj is SubjectInformationAccess)
            {
                return((SubjectInformationAccess)obj);
            }

            if (obj is Asn1Sequence)
            {
                return(new SubjectInformationAccess((Asn1Sequence)obj));
            }

            if (obj is X509Extension)
            {
                return(GetInstance(X509Extension.ConvertValueToObject((X509Extension)obj)));
            }

            throw new ArgumentException("unknown object in factory: " + obj.GetType().Name, "obj");
        }