//public void GetCrlInfo2(string fileName, Org.BouncyCastle.Math.BigInteger serialNumber, Org.BouncyCastle.X509.X509Certificate cert) //Отдает данные из Crl-файла в виде массива строк: public string[] GetCrlInfoAsArray(string fileName) { try { byte[] buf = ReadFile(fileName); X509CrlParser clrParser = new X509CrlParser(); X509Crl crl = clrParser.ReadCrl(buf); var issuer = crl.IssuerDN; var signature = crl.GetSignature(); DateTime nextupdate = crl.NextUpdate.Value; DateTime thisUpdate = crl.ThisUpdate; //Console.WriteLine("Issuerdata.tostring = {0}", issuer.ToString()); //Console.WriteLine("Signature.ToString = {0}", signature.ToString()); //Console.WriteLine("NextUpdate = {0}", nextupdate.ToString()); //Console.WriteLine("ThisUpdate = {0}", thisUpdate); Logger.Write($"Извлечение данных из crl-файла: {fileName}"); Logger.Write($"issuer: {issuer}"); Logger.Write($"signature: {signature}"); Logger.Write($"nextupdate: {nextupdate}"); Logger.Write($"thisupdate: {thisUpdate}"); CrlInfo CrlInfo1 = new CrlInfo(issuer.ToString(), signature, nextupdate, thisUpdate); //CrlInfo CrlInfo1 = new CrlInfo(issuer.ToString(),BitConverter.ToInt32(signature,0),nextupdate,thisUpdate); string[] array = { issuer.ToString(), nextupdate.ToString(), thisUpdate.ToString() }; return(array); } catch (Exception ex) { string[] array = { "Операция не удалась" }; Logger.Write(ex.Message); return(array); } }
//Отдает содержимое Crl-файла в виде структуры CrlInfo: public CrlInfo GetCrlInfoAsStructure(string fileName) { try { byte[] buf = ReadFile(fileName); X509CrlParser clrParser = new X509CrlParser(); X509Crl crl = clrParser.ReadCrl(buf); var issuer = crl.IssuerDN; var signature = crl.GetSignature(); DateTime nextupdate = crl.NextUpdate.Value; DateTime thisUpdate = crl.ThisUpdate; //Console.WriteLine("Issuerdata.tostring = {0}", issuer.ToString()); //Console.WriteLine("Signature.ToString = {0}", signature.ToString()); //Console.WriteLine("NextUpdate = {0}", nextupdate.ToString()); //Console.WriteLine("ThisUpdate = {0}", thisUpdate); Logger.Write($"Извлечение данных из crl-файла: {fileName}"); Logger.Write($"issuer: {issuer}"); Logger.Write($"signature: {signature}"); Logger.Write($"nextupdate: {nextupdate}"); Logger.Write($"thisupdate: {thisUpdate}"); CrlInfo CrlInfo = new CrlInfo(issuer.ToString(), signature, nextupdate, thisUpdate); return(CrlInfo); } catch (Exception ex) { Crlinfo = new CrlInfo(); Logger.Write(ex.Message); return(Crlinfo); } }