public void ExtendToClosestPublication() { KSI.Ksi ksi = GetKsi(); // Read an existing signature from file, assume it to be not extended IKsiSignature signature = LoadUnextendedSignature(); // Extends the signature to the closest publication found in the publications file // Assumes signature is not extended and at least one publication after // the signature obtained IKsiSignature extendedSignature = ksi.Extend(signature); // Double check if signature was extended if (extendedSignature.IsExtended) { Console.WriteLine("ExtendToClosestPublication > extended to publication > " + Util.ConvertUnixTimeToDateTime(extendedSignature.PublicationRecord.PublicationData.PublicationTime)); } else { Console.WriteLine("ExtendToClosestPublication > signature not extended"); } // Store the extended signature //using (FileStream stream = File.Create("sample-file-for-signing.txt.extended.ksig")) //{ // extendedSignature.WriteTo(stream); //} }
public void ExtendToGivenPublicationDate() { KSI.Ksi ksi = GetKsi(); IKsiSignature signature = LoadUnextendedSignature(); PublicationRecordInPublicationFile publicationRecord = ksi.GetPublicationsFile().GetNearestPublicationRecord(new DateTime(2016, 2, 15)); if (publicationRecord == null) { Console.WriteLine("ExtendToGivenPublicationDate > no suitable publication yet. signature not extended"); return; } Console.WriteLine("ExtendToGivenPublicationDate > trying to extend signature to publication > " + Util.ConvertUnixTimeToDateTime(publicationRecord.PublicationData.PublicationTime)); IKsiSignature extendedSignature = ksi.Extend(signature, publicationRecord); if (extendedSignature.IsExtended) { Console.WriteLine("ExtendToGivenPublicationDate > signature extended to publication > " + Util.ConvertUnixTimeToDateTime(extendedSignature.PublicationRecord.PublicationData.PublicationTime)); // Store the extended signature // ... } else { Console.WriteLine("ExtendToGivenPublicationDate > signature not extended"); } }
public void ExtendToLatestPublication() { KSI.Ksi ksi = GetKsi(); IKsiSignature signature = LoadUnextendedSignature(); PublicationRecordInPublicationFile latestPublicationRecord = ksi.GetPublicationsFile().GetLatestPublication(); if (!signature.IsExtended || signature.PublicationRecord.PublicationData.PublicationTime < latestPublicationRecord.PublicationData.PublicationTime) { IKsiSignature extendedSignature = ksi.Extend(signature, latestPublicationRecord); if (extendedSignature.IsExtended) { Console.WriteLine("ExtendToLatestPublication > signature extended to publication > " + Util.ConvertUnixTimeToDateTime(extendedSignature.PublicationRecord.PublicationData.PublicationTime)); // Store the extended signature // ... } } }
public void ExtendToGivenPublicationCode() { KSI.Ksi ksi = GetKsi(); IKsiSignature signature = LoadUnextendedSignature(); PublicationData publicationData = new PublicationData("AAAAAA-CWYEKQ-AAIYPA-UJ4GRT-HXMFBE-OTB4AB-XH3PT3-KNIKGV-PYCJXU-HL2TN4-RG6SCC-3ZGSBM"); IKsiSignature extendedSignature = ksi.Extend(signature, publicationData); if (extendedSignature.IsExtended) { Console.WriteLine("ExtendToGivenPublicationCode > signature extended to publication > " + Util.ConvertUnixTimeToDateTime(extendedSignature.PublicationRecord.PublicationData.PublicationTime)); // Store the extended signature // ... } else { Console.WriteLine("ExtendToGivenPublicationCode > signature not extended"); } }