Example #1
0
        /// <summary>
        /// Проверка подписи, добавленной в конец исходного файла
        /// </summary>
        /// <param name="file">Подписанный файл</param>
        public static int Verify(string file)
        {
            int       ret;
            byte      count;
            CheckList list;

            if ((ret = Wbotho.CheckFileSign(file, out count, out list)) > 0)
            {
                return(ret);
            }
            for (int i = 0; i < (int)count; i++)
            {
                switch (list.Signs[i].Status)
                {
                case 0:     //CORRECT
                    break;

                case 1:     //NOT_CORRECT
                    ret = 26;
                    break;

                case 2:     //OKEY_NOT_FOUND
                    ret = 6;
                    break;
                }
            }
            Wbotho.FreeMemory(list);
            return(ret);
        }
Example #2
0
        /// <summary>
        /// Проверить все подписи в конце файла (новое: они реально проверяются)
        /// </summary>
        /// <param name="file">Файл с подписями</param>
        /// <param name="pub">Путь к открытым ключам</param>
        /// <remarks>wftesto.exe v file.txt c:\pub</remarks>
        public static int Verify(string file, string pub)
        {
            int ret;

            if ((ret = Wbotho.SignInit("", pub)) > 0)
            {
                Console.WriteLine("SignInit error : {0}", ret);
                return(ret);
            }
            byte      count;
            CheckList list;

            if ((ret = Wbotho.CheckFileSign(file, out count, out list)) > 0)
            {
                Console.WriteLine("check_file_sign error : {0}", ret);
                return(ret);
            }
            Wbotho.SignDone();
            for (int i = 0; i < count; i++)
            {
                Console.Write("{0} - ", list.Signs[i].Alias);
                switch (list.Signs[i].Status)
                {
                case 0:     //CORRECT
                    Console.WriteLine("sign is OK");
                    break;

                case 1:     //NOT_CORRECT
                    Console.WriteLine("sign is corrupted");
                    ret = 26;
                    break;

                case 2:     //OKEY_NOT_FOUND
                    Console.WriteLine("key not found");
                    ret = 6;
                    break;
                }
            }
            Wbotho.FreeMemory(list);
            Console.WriteLine("File {0} verified", file);
            return(ret);
        }