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