Example #1
0
        /// <summary>
        /// Функция обработки контейнеров сертификатов (Base64string)
        /// </summary>
        /// <param name="Base64String">Строка Base64</param>
        /// <returns></returns>
        public static CertInfo CertificateInfoFromString(string Base64String)
        {
            CertInfo cert = new CertInfo();

            cert.ParseData(cert.FromBase64(Base64String));
            return(cert);
        }
Example #2
0
        /// <summary>
        /// Функция обработки контейнеров сертификатов из xml
        /// </summary>
        /// <param name="xmlfile">полный путь до xml</param>
        /// <param name="tagname">название тега, по которому будет вестись поиск</param>
        /// <returns>List of CertInfo</returns>
        public static List <CertInfo> CertificateInfo(string xmlfile, string tagname)
        {
            List <CertInfo> certinfo = new List <CertInfo>();
            FileInfo        finfo    = new FileInfo(xmlfile);

            if (finfo.Extension == ".xml")
            {
                XDocument doc = XDocument.Load(xmlfile);

                foreach (XElement row in doc.Root.Descendants(tagname))
                {
                    CertInfo cert = new CertInfo();

                    try
                    {
                        cert.sign = row.Value.Trim();
                        cert.ParseData(cert.FromBase64(cert.sign));
                    }
                    catch
                    {
                        Console.WriteLine("Certificate is not exist!");
                        continue;
                    }

                    certinfo.Add(cert);
                }
            }

            return(certinfo);
        }
Example #3
0
        /// <summary>
        /// Функция обработки сертификатов (*.cer)
        /// </summary>
        /// <param name="certfile">Путь до файла сертификата</param>
        /// <returns>CertInfo</returns>
        public static CertInfo CertificateInfoFromCerFile(string certfile)
        {
            FileInfo finfo = new FileInfo(certfile);
            CertInfo cert  = null;

            if (finfo.Extension == ".cer")
            {
                cert = new CertInfo();
                cert.ParseData(cert.FromCertificate(certfile));
            }

            return(cert);
        }
Example #4
0
        /// <summary>
        /// Функция обработки контейнеров сертификатов из текстовых файлов (base64)
        /// </summary>
        /// <param name="path">сканируемый каталог</param>
        /// <returns></returns>
        public static List <CertInfo> CertificateInfo(string path)
        {
            List <CertInfo> certinfo = new List <CertInfo>();
            string          sign     = null;
            CertInfo        cert     = null;

            foreach (string f in Directory.GetFiles(path))
            {
                sign = File.ReadAllText(f);
                cert = new CertInfo();
                cert.ParseData(cert.FromBase64(sign));
                certinfo.Add(cert);
            }


            return(certinfo);
        }
Example #5
0
        /// <summary>
        /// Функция обработки контейнеров сертификатов из объекта XDocument
        /// </summary>
        /// <param name="doc">XDocument объект</param>
        /// <param name="tagname">название тега, по которому будет вестись поиск</param>
        /// <returns></returns>
        public static List <CertInfo> CertificateInfo(XDocument doc, string tagname)
        {
            List <CertInfo> certinfo = new List <CertInfo>();

            foreach (XElement row in doc.Root.Descendants(tagname))
            {
                CertInfo cert = new CertInfo();

                try
                {
                    cert.sign = row.Value.Trim();
                    cert.ParseData(cert.FromBase64(cert.sign));
                }
                catch
                {
                    continue;
                }

                certinfo.Add(cert);
            }

            return(certinfo);
        }