/// <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); }
/// <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); }
/// <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); }
/// <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); }