HermaFx.X509Certificates.CertificateString.CertificateString C# (CSharp) Метод

CertificateString() публичный Метод

public CertificateString ( string certificateString ) : System
certificateString string
Результат System
        public CertificateString(string certificateString)
        {
            if (string.IsNullOrEmpty(certificateString))
                throw new ArgumentNullException("certificateString");

            _certificateString = certificateString;

            // FIXME: Allow escaped semicolon caracters (ie. \; or semicolons between quotes "...;...")
            var list = certificateString.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);

            foreach (var item in list)
            {
                // FIXME: Allow escaped equals caracters (ie. \= or between quotes "...=...")
                var tmp = item.Split(new[] { '=' }, StringSplitOptions.RemoveEmptyEntries);

                if (tmp.Count() != 2)
                    throw new ArgumentException("Malformed certificate string property '{0}' has no property name (missing '=')");

                _entries[tmp[0]] = tmp[1];
            }

            if (_entries.ContainsKey("StoreName"))
                StoreName = (StoreName)Enum.Parse(typeof(StoreName), _entries["StoreName"]);

            if (_entries.ContainsKey("StoreLocation"))
                StoreLocation = (StoreLocation)Enum.Parse(typeof(StoreLocation), _entries["StoreLocation"]);

            // TODO: Check invalid find by combinations.
            if (_entries.ContainsKey("X509FindType"))
                X509FindType = (X509FindType)Enum.Parse(typeof(X509FindType), _entries["X509FindType"]);

            if (_entries.ContainsKey("X509FindBy"))
                X509FindBy = (X509FindBy)Enum.Parse(typeof(X509FindBy), _entries["X509FindBy"]);

            if (_entries.ContainsKey("X509FindValue"))
                X509FindValue = _entries["X509FindValue"];

            if (_entries.ContainsKey("Thumbprint"))
            {
                X509FindType = SysX509.X509FindType.FindByThumbprint;
                X509FindValue = _entries["Thumbprint"];
            }

            if (_entries.ContainsKey("KeyContainerName"))
                KeyContainerName = _entries["KeyContainerName"];
        }