Esempio n. 1
0
        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);
            //}
        }
Esempio n. 2
0
        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");
            }
        }
Esempio n. 3
0
        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
                    // ...
                }
            }
        }
Esempio n. 4
0
        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");
            }
        }