Контроль целостности дистрибутива

Проверка целостности дистрибутива административного пакета осуществляется с использованием утилиты stverify, разработанной компанией S-Terra CSP. Утилита stverify размещена на поставляемом CD диске.

Синтаксис

Вычисление контрольной суммы:

stverify -mk full_name_with_path_of_file [-alg algId] [-inverted_halfbytes 0|1]

Проверка контрольной суммы:

stverify full_name_with_path_of_file hash [-alg algId] [-inverted_halfbytes 0|1]

где

-mk full_name_with_path_of_file         полное имя файла и  путь  с  нему.

-alg algId         алгоритм  вычисления  контрольной  суммы. Необязательный параметр. Возможны следующие значения:

              GR3411 – ГОСТ 34.11-94 (значение по умолчанию).

                             GR3411_2012_256 – ГОСТ 34.11-2012 c длиной ключа 256 бит.

                             GR3411_2012_512 – ГОСТ 34.11-2012 c длиной ключа 512 бит (данный алгоритм в текущей версии Продукта не реализован).

                             G28147_MAC – имитовставка ГОСТ 28147-89 с таблицами замены ТК26 Z.

                             GRC32_C – алгоритм CRC32-С (полином by G. Castagnoli, S. Braeuer and M. Herrmann, см. RFC 3720).

                             ACTUAL – для выбора актуального для текущей версии Продукта алгоритма (GR3411_2012_256). Дефолтным (при отутствии параметра ‘-alg’) остается ГОСТ 34.11-94. Актуальный алгоритм – оптимальный для применения в момент выпуска текущей версии Продукта.

hash                     контрольная сумма.

-inverted_halfbytes 0|1   ключ формата вывода для совместимости с выводом утилиты от Крипто-Про – cpverify, при котором в выводимом байте полубайты инвертируются. Так, число 0xAB выводилось как строка “BA”.
Значение ключа 0 означает отсутствие такой инверсии.
Значение ключа 1 означает явное присутствие такой инверсии.
Отсутствие ключа означает использовать «значение по умолчанию». Оно индивидуально для каждого алгоритма.

                             Формат вывода:
При выборе CRC32_C байты выводятся, начиная со старшего (big endian). Инверсия по умолчанию отсутствует. Длина вывода – 8 символов.
При выборе ГОСТ 28147 имитовставки байты выводятся, начиная с младшего (первого). Инверсия по умолчанию отсутствует. Длина вывода – 8 символов.
При выборе ГОСТ 34-11-94 либо ГОСТ 34.11-2012 байты выводятся, начиная с младшего. Инверсия по умолчанию включена. Длина вывода 64 символа. Следует отметить несовместимость «инверсии по умолчанию» для ГОСТ 34.11-2012: у утилиты stverify – включена, у cpverify – выключена.

 

Для вычисления контрольной суммы по каждому файлу дистрибутива, например, setup.exe, и выдачи результата на экран выполните команду (указав пути к файлам):

stverify –mk setup.exe –alg ACTUAL

Полученное значение сравните с эталонным значением контрольной суммы, записанным в файл hashes из состава дистрибутива, который содержит строки вида
<hash> <file_name>,

где

<hash> – эталонное значение контрольной суммы

<file_name> – имя файла, для которого подсчитана контрольная сумма.

Для вычисления контрольной суммы для файла дистрибутива и автоматического сравнения с эталонным значением, например, для файла setup.exe, выполните команду (указав пути к файлам):

stverify setup.exe hash_from_file –alg ACTUAL, 

где

hash_from_file – эталонное значение контрольной суммы для файла setup.exe, скопированное из файла hashes (вставить в командную строку можно при помощи нажатия правой кнопки мыши и выбора предложения “Вставить”).

 

 

Возможные сообщения об ошибках

Сообщение об ошибке

Описание проблемы

Verification COMPLETED

Успешное окончание проверки.

USAGE: stverify -mk <full_name_with_path_of_file>
    or stverify <full_name_with_path_of_file> <hash>

Недостаточное количество параметров в командной строке вызывает вывод подсказки в использовании.

ERROR: Unknown command line format.

Третьим параметром выступает не ключ ‘-alg’

ERROR: GOST 34.11-2012 512bit implementation don't supported now.

Выбран алгоритм ГОСТ 34.11-2012 с длиной ключа 512 бит, который в текущей версии не поддерживается.

ERROR: Unknown algorithm ID.

Указан нераспознаваемый идентификатор алгоритма.

ERROR: Hash initialization fault

Внутренняя ошибка инициализации системы вычисления хеша.

ERROR: Invalid hash value

Отсутствует или имеет неверный формат значение контрольной информации для проверки.

ERROR Open file is fault. <далее строка описания ошибки в формате операционной системы>

Ошибка открытия проверяемого файла.

ERROR: Read file is fault. <далее строка описания ошибки в формате операционной системы>

Ошибка чтения содержимого проверяемого файла.

ERROR: Verification unsuccessfull.

Проверка выявила несоответствие предложенного значения контрольной информации и вычисленного значения. Возможно проверяемый файл поврежден.

ERROR: Calculation unsuccessfull.

Ошибка вычисления контрольной информации